从apache vhost将重写规则应用于nginx vhost

时间:2016-03-03 00:35:46

标签: apache .htaccess nginx

我正在使用nginx进行一些测试。

他的工作正常,但是我无法从apache和nginx doc中应用一些重写规则并不容易。

目标:所有内容都必须在/index.php文件中重写,而不是额外的和adminer。

如果我浏览到http://server/extra/someThing,那就OK,调用controller.php文件。

但对于/ adminer,我只想防止/ adminer被最后一条规则重写。

location / {
    rewrite ^/extra /extra/controller.php break;
    #rewrite ^/adminer - break;
    rewrite ^/ /index.php break;
}

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

您可以使用单独的位置块来对重写逻辑进行分区。例如:

location / {
    try_files $uri $uri/ /index.php;
}
location /extra {
    try_files $uri $uri/ /extra/controller.php;
}
location /adminer {
    try_files $uri $uri/ =404;
}

有关详情,请参阅thisthis