2008-11-11 60 views
11

我期待下面的mod_rewrite規則轉換爲Nginx equivalent如何將mod_rewrite(QSA選項)轉換爲相當於Nginx的?

RewriteRule ^foo/(.*)$ /bar/index.php?title=$1 [PT,L,QSA] 
RewriteRule ^foo/*$ /bar/index.php [L,QSA] 

到目前爲止,我有:

rewrite ^foo/(.*)$ /bar/index.php?title=$1&$query_string last; 
rewrite ^foo/?$ /bar/index.php?$query_string break; 

問題是(我想!),查詢字符串不追加。我還沒有找到將QSA參數移植到Nginx的方法。

回答

5

這些重寫規則作出的腳本工作:

rewrite ^/foo/([^?]*)(?:\?(.*))? /bar/index.php?title=$1&$2; 
rewrite ^/foo /bar/index.php; 
16

QSA是自動的在NGINX。

如果你不想要它,添加?到您的新位置的末尾

重寫^/foo /bar/index.php?持續;

+0

評論刪除 – Zoltan 2016-08-04 09:29:39