在Nginx重写中将所有PHP请求重定向到路由器(Tonic Framework)

时间:2013-06-04 14:32:39

标签: php ubuntu nginx rewrite

我已经开始使用Tonic Framework开发新的RESTful API。 我已经在我的apache盒子上测试了功能代码,但我现在正试图将它移动到我的Nginx机器上。

我尝试将其转换为nginx规则:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !router\.php$
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* router.php [L,QSA]
</IfModule>

但我的规则似乎都没有效果。

到目前为止,我尝试将所有请求重定向到/v2/router.php(我试图访问的php文件)

location /v2/ {
    try_files $uri $uri/ /v2/router.php;
}

这会导致奇怪的结果,例如我的所有php文件因某些奇怪的原因而执行等等......

非常感谢您对此的支持。

1 个答案:

答案 0 :(得分:1)

您可以尝试类似

的内容
location /v2 {
    root <absolute folder path>/v2;
    if (!-e $request_filename) {
        rewrite ^/(.*)$ /v2/router.php?/$1 last;
        break;
    }
}

希望它有所帮助。