2015-12-06 19 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; 
}