2014-01-05 4 views
0

Я пытаюсь выполнить переписывание в nginx, но он не работает.URL Rewriting Nginx

То, что я пытаюсь сделать это:

www.website.com/backstage/somepage.php?language=Dutch 

должен стать

www.website.com/nl/backstage/somepage.php 

Я добавил эту строку в Nginx конфигурации (но это ничего не делает):

rewrite ^/nl/backstage/(.*)\.html$ /./backstage/$1.php?language=Dutch last; 

Я надеюсь, что кто-то может помочь :) Спасибо.

ответ

0

humm, я не понимаю вашу директиву rewrite, это не имеет большого смысла. проверить документ: http://wiki.nginx.org/HttpRewriteModule и, в частности,

rewrite regex replacement 

Таким образом, вы должны найти регулярное выражение, которое соответствует /backstage/somepage.php?language=Dutch и замена будет /nl/backstage/somepage.php. Однако это сложно, поскольку вы пытаетесь переписать в соответствии с параметром. Так что «переписать» самостоятельно не получится, вы должны использовать «if».

Это должно работать:

if ($args ~ language=Dutch){ 
    rewrite ^/backstage/(.*).php$ /nl/backstage/$1.php permanent; 
} 
+0

К сожалению, это не получилось :( – Sander