Как использовать Apache mod_rewrite RewriteCond для перенаправления ссылки? - PullRequest
2 голосов
/ 21 марта 2012

У меня возникли проблемы с перенаправлением ссылок.Вот простой пример, и я надеюсь, что вы можете сказать мне, что мне не хватает, что приводит к его отказу.

RewriteCond %{QUERY_STRING} NAV=PIXIES
RewriteRule ^/category.asp?NAV=PIXIES /category/pop-artpixies-trade- [R=301,L,NE]

Пожалуйста, дайте мне знать, какую дополнительную информацию я могу предоставить.

1 Ответ

2 голосов
/ 21 марта 2012

строка запроса не включена в URI для сопоставления в директиве RewriteRule:

RewriteCond %{QUERY_STRING} NAV=PIXIES
RewriteRule ^/category.asp$ /category/pop-artpixies-trade- [R=301,L,NE]

Если это внутри файла .htaccess, вам нужно удалить начальную косую черту в вашем совпадении регулярного выражения:

RewriteRule ^category.asp$ /category/pop-artpixies-trade- [R=301,L,NE]

Если вы действительно хотите удалить NAV=PIXIES из строки запроса (поскольку вышеприведенное правило переписывает http://domain/category.asp?NAV=PIXIES в http://domain/category/pop-artpixies-trade-?NAV=PIXIES), вам нужно добавить "?" до конца вашей цели:

RewriteRule ^category.asp$ /category/pop-artpixies-trade-? [R=301,L,NE]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...