[英]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运行php的NGINX文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.