繁体   English   中英

Nginx重写等效于Apache重写

[英]Nginx rewrite equivalent of apache rewrite

我正在尝试在新的Nginx服务器上更改配置,使其与我当前的Apache设置匹配。 目前,我正在使用此htaccess文件:

RewriteEngine on  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule ^(.*) index.php?url=$1 [L,QSA]  

我发现了一个可以将其“翻译”成Nginx等效文件的转换器。 我尝试了以下方法:

location / {
    if (!-e $request_filename){
     rewrite ^/(.*) /index.php?url=$1 break;
    }
    try_files $uri $uri/ =404;
}

但是,当我尝试设置像这样的url查询http://domain.tld/something时,我的php文件就被返回并下载了,这不应该发生。

当像一个网址我希望发生的是//domain.tld/something:HTTP输入的它就会像对待HTTP://domain.tld/index.php URL =东西

有人可以告诉我我在做什么错吗?

与Apache不同,nginx并非开箱即用即可运行PHP。 您需要设置一个处理程序来处理php文件,否则nginx会像处理任何常规文件一样为它们提供服务。

请参阅: Nginx下载php而不是运行它

另外:请阅读有关使用fast-cgi运行phpNGINX文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM