【问题标题】:Redirecting all PHP Request to router in Nginx rewrite (Tonic Framework)在 Nginx 重写(Tonic 框架)中将所有 PHP 请求重定向到路由器
【发布时间】:2013-06-04 23:43:39
【问题描述】:

我已经开始使用 Tonic 框架开发一个新的 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 文件由于某种奇怪的原因而执行等等......

感谢您对此的支持。

【问题讨论】:

标签: php ubuntu nginx rewrite


【解决方案1】:

你可以试试

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

希望对你有帮助。

【讨论】:

  • 它仍在尝试在 / 而不是 v2 中查找文件...所以我猜这不是确切的解决方案
  • 您的网址中是否包含v2
  • 我的错-问题出在我的路由器文件中。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-09
  • 2011-10-07
  • 2012-08-12
  • 2018-02-22
相关资源
最近更新 更多