Я пытаюсь создать пятиуровневую иерархию с mod_rewrite
. Это то, что я собрал на данный момент. Он работает на последних двух уровнях (первое и второе правило), но не после этого. Любая помощь будет принята с благодарностью.
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /mr/index.php?product_group=$1&product_family=$2&product_category=$3&product_sub_category=$4&product=$5 [C]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /mr/index.php?product_group=$1&product_family=$2&product_category=$3&product_sub_category=$4 [C]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /mr/index.php?product_group=$1&product_family=$2&product_category=$3 [C]
RewriteRule ^([^/]*)/([^/]*)$ /mr/index.php?product_group=$1&product_family=$2 [C]
RewriteRule ^([^/]*)$ /mr/index.php?product_group=$1 [L]
Я не серверный техник. Я разработчик и просто не могу в этом разобраться. Каждое из этих правил отлично работает само по себе. Мне нужно, чтобы правила работали от одного до пятого уровня и на каждом промежуточном этапе. Мне нужна детализированная навигация, удобная для SEO.
Похоже, вы связали все правила вместе с [C]
флаг. Видеть документация для объяснения их значений. Ты наверное хочешь [L]
вместо "последний".
Также стоит отметить, что правила будут выполняться до тех пор, пока URL-адрес больше не изменится; поэтому ваше предпоследнее правило, скорее всего, создаст цикл перезаписи, если у вас нет правила, аналогичного этому:
RewriteRule ^/mr/index.php$ - [L]
Редактировать: Для ясности это то, что я предлагаю в качестве отправной точки. Вы можете получить некоторое представление о ведение журнала предоставлено mod_rewrite
.
RewriteRule ^mr/index.php$ - [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/?$ /mr/index.php?product_group=$1&product_family=$2&product_category=$3&product_sub_category=$4&product=$5 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/?$ /mr/index.php?product_group=$1&product_family=$2&product_category=$3&product_sub_category=$4 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/?$ /mr/index.php?product_group=$1&product_family=$2&product_category=$3 [L]
RewriteRule ^([^/]*)/([^/]*)/?$ /mr/index.php?product_group=$1&product_family=$2 [L]
RewriteRule ^([^/]*)/?$ /mr/index.php?product_group=$1 [L]