2013-04-30 2 views
0

я должен перенаправить следующий URL:Nginx правила перезаписи в месте

http://wwww.domain.de/dynamic_subdir1/subdir2/subdir3/?querysting 

к

http://www.domoain.de/dynamic_subdir1/static_dir/subdir2/subdir3/file.php?querysting 

В моей конфигурации:

location ^~ /subdir2/subdir3/ { 
    rewrite ^/(.+?)/subdir2/subdir3/ /$1/static_dir/subdir2/subdir3/file.php?$args break; 
} 

, но я получаю Allways внутреннюю ошибку 500 и в журнале ошибок я вижу следующее:

rewrite or internal redirection cycle while internally redirecting 

Что не так в моей конфигурации?

ответ

0

Я думаю, что вы почти у цели. Предполагая, что вы пытаетесь переписывания этого (например, не выдает HTTP redirect), попробуйте анкерный ваше регулярное выражение:

rewrite ^/(.+?)/subdir2/subdir3/$ /$1/static_dir/subdir2/subdir3/file.php?$args break; 

Обратите внимание на $ в конце первого рисунка.

+0

Я думаю, что на самом деле это место, которое нужно привязать. Однако это слишком сложный способ указать «индекс» для пути. – Melvyn

Смежные вопросы