2015-12-06 46 views
1

在Apache中,我在根中有一個.htaccess文件來重寫URL,除了名爲admin的文件夾外。在admin文件夾中,我有另一個.htaccess文件來重寫該文件夾中的URL。Nginx網址重寫在兩個文件夾中

如何使用nginx服務器塊實現相同?

這是我目前使用的URL在我的nginx服務器塊根重寫代碼片段:

location/{ 
    try_files $uri $uri/ /index.php?url=$uri&$args 
} 

編輯:

這是我以前曾在.htaccess根:

Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/
RewriteRule ^(admin) - [L,NC] 
RewriteRule ^([^.]+)$ /index.php?url=$1 [L,QSA] 

,這在管理文件夾的.htaccess:

Options +FollowSymlinks 
RewriteEngine On 
RewriteRule ^([^.]+)$ /admin/index.php?strucutre_url=$1 [QSA,L] 
+0

如果你需要將'.htaccess'文件移植到'nginx'的建議,那麼你應該在你的問題中包含源代碼。否則,'nginx'重寫模塊的語法[記錄在這裏](http://nginx.org/en/docs/http/ngx_http_rewrite_module.html)。 –

+0

@RichardSmith我添加了.htaccess文件的相關部分。 –

回答

2

在我看來,從您的實施中唯一缺少的東西是/admin位置的特殊處理。我建議你試試這個:

location/{ 
    try_files $uri $uri/ /index.php?url=$uri&$args; 
} 
location /admin { 
    try_files $uri $uri/ /admin/index.php?strucutre_url=$uri&$args; 
}