将mod_rewrite规则从htaccess转移到nginx

时间:2017-02-20 10:07:04

标签: php apache .htaccess mod-rewrite nginx

我正在尝试将一些已经正在运行的重写规则从.htaccess转换为nginx。 我的应用程序有2种模式,后端(所有调用以/ admin / *开头)和前端,其余调用。后端请求被路由到admin.php,而前端请求被路由到index.php

这在apache中效果很好但在nginx中我只能使前端路由工作。 / admin / requests确实调用了admin.php文件,但是php文件被下载而不是被执行。我已经使用http://winginx.com将我的htaccess路由转换为nginx但我仍然无法让它为/ admin工作。

nginx pro可以帮助我使用正确的配置吗?

这是我的工作.htaccess配置:

tr

这是我到目前为止尝试过的nginx配置......

android:adjustViewBounds="true"
    android:scaleType="fitXY"

打开nginx,执行 curl -s -D - 'http://mydomain.local/frontend/call'|在调用 curl -s -D - 'http://cms.dev/admin/whatever'时,head -n 20 确实将Content-type作为text / html返回head -n 20 返回触发下载的application / octet-stream内容类型。

1 个答案:

答案 0 :(得分:0)

最后,我用这个替换了 location / admin 部分,所有/ admin调用似乎都得到了正确的处理。现在,我不确定这是否是最佳或最佳的方式,但它有效......

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