UrlRewrite с 3 запросами на получение - PullRequest
0 голосов
/ 21 ноября 2011

Я работаю над проектом и застрял на urlrewrite.Я старался изо всех сил, не нашел ответа, надеюсь получить решение здесь.

  1. Я создаю динамические категории через одну страницу "category.php".Я хочу создать 3 типа категорий, таких как

    • mysite.com/maincategory.html (это основная категория, их 22)

    • mysite.com/maincategory/firstsubcategory.html (ок. 700-800 подкатегорий)

    • mysite.com/maincategory/firstsubcategory/secondcategory.html (ок. 700-800 подкатегорий)

  2. Я создал страницу "category.php", которая получает $_GET['main'], $_GET['firstsub'] и $_GET['second sub'] и использовал следующие коды в .htaccess,

    Options +FollowSymLinks
    RewriteEngine On
    RewriteRule (.*).html category.php?main=$1
    
  3. Я пытался mysite.com/categoryname.html но не сработало.Я успешно использовал приведенный выше код для моего другого проекта и работал нормально.Но я впервые работаю с 3 $_GET['main'], я не уверен, как это работает.

Пожалуйста, помогите мне решить мою проблему.

Ответы [ 2 ]

0 голосов
/ 21 ноября 2011

Если я правильно понимаю, вы хотите захватить категорию для A, категорию и первую подкатегорию для B, а также категорию, 1-ю подкатегорию и вторую подкатегорию для C. Приведенное ниже решение будет работать.

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^([^/]*)/?([^/]*)/?([^/]*)\.html$ category.php?main=$1&firstsub=$2&secondsub=$3 [L]

Редактировать: Упрощенный код выше.

0 голосов
/ 21 ноября 2011

Для ... позвольте мне проверить ... да да, 10-й раз:

Пожалуйста, попробуйте использовать директиву RewriteLog: она помогает вам отследить такие проблемы:

# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On

А теперь решение:

Options +FollowSymLinks
RewriteEngine On
RewriteRule download-game/(.*)\.html$ category.php?main=$1 [QSA,L]
RewriteRule ([^/]*)/([^/]*)/([^/]*)\.html category.php?main=$1&firstsub=$2&secondsub=$3 [QSA,L]
RewriteRule ([^/]*)/([^/]*)\.html category.php?main=$1&firstsub=$2 [QSA,L]
RewriteRule ([^/]*)\.html category.php?main=$1 [QSA,L]

Скажите, пожалуйста, работает ли оно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...