让 Nginx 与 /index.php/something 一起工作

让 Nginx 与 /index.php/something 一起工作

我正在尝试从 Apache 迁移到 Nginx。我使用的是 Nginx 1.8.1 和 PHP 5.6

Apache 接受如下 URL:

domain.com/site/index.php/something

并使用参数 /something 调用 index.php 脚本。这就是我的 Wordpress 的工作方式,但还有其他脚本依赖于此。

例如我可以这样做:

domain.com/path/script.php/someparameter

我怎样才能让它在 Nginx 中工作?

编辑:我找到了 Wordpress 的解决方案:

location /blog/ {
    try_files $uri $uri/ /blog/index.php?$args;
}

但是适合所有脚本的通用解决方案是什么?

答案1

您可以使用重写。

例如,使用尾随的重写所有 PHP 脚本/

location / {
    rewrite ^/(.+\.php)(/.+) /$1?$2;
    try_files $uri $uri/ =404;
}

相关内容