2014-01-05 305 views
0

我試圖在nginx中完成重寫,但它不工作。URL重寫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

姆,我不明白你的改寫指令,它沒有太大的意義。檢查文檔: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