如何使nginx重写url从一个PHP到另一个PHP

时间:2014-11-03 07:53:23

标签: php .htaccess nginx

我有一个旧的Web应用程序,它使用get.php与客户端应用程序进行交互。现在我们将我们的Web应用程序升级为使用laravel框架,它使用restful api作为url接口,

我们的服务器使用nginx,所以我想将旧网址重定向到这样的新网址:

/get.php?update => /update or (index.php/update)

我尝试过使用这些配置。

    location = /get.php?update {
            try_files $uri $uri/ /index.php/update;
    }

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

但是当我访问get.php时,我仍然可以获得404 error

那么如何使用nginx的重写来重定向呢?

1 个答案:

答案 0 :(得分:1)

Nginx location阻止与查询字符串不匹配,因此您的尝试将失败。

试试这个:

location = /get.php {
    if ($args = update) {
        rewrite ^ /index.php?$query_string last;
    }
}

IF有点evil