2016-02-20 9 views
0

Адрес страницы: http://xxxxxx/index.php?route=product/category&path=565Nginx переписывания сводит меня с ума

и почему, черт возьми, приведенные ниже правила не работают?!?!

ЭТО - не работают вообще:

if ($request_uri ~* "^(.*)product/category&path=565"){ 
    rewrite ^(.*)$ /index.php?route=product/category&path=174&filter=sale? last; 
} 

ЭТО - Эйнт работа тоже! = (

if ($args ~* "^(.*)product/category&path=565"){ 
    rewrite ^(.*)$ /index.php?route=product/category&path=174&podbor=m:feniks? last; 
} 
+0

Если есть зло. Используйте напрямую переписать. –

+0

PS все аргументы удаляются из uri и помещаются в '$ args' –

ответ

0

Обе ваши правила перезаписи работают правильно (для меня). Проблема может быть, что ваше приложение требует внешнего перенаправления, а не внутреннее перенаправление для того, чтобы увидеть изменения.

Рассмотрим с помощью модификатора redirect а не модификатор last. конечно, это будет означать, что клиент будет также увидеть переписанный URL.

см this документа больше.