使用nginx通过index.php路由请求

使用nginx通过index.php路由请求,第1张

概述使用nginx通过index.php路由请求

我将我的服务器从Apache迁移到Nginx,并有这个非常简单的.htaccess规则:

RewriteEngine On RewriteCond %{REQUEST_filename} !-f RewriteRule ^ index.PHP [QSA,L]

它背后的想法是将每个请求都引导到前端控制器( index.PHP )。 我正在尝试与Nginx一样。 我使用了一个在线转换器来创build这个Nginx位置块:

location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.PHP break; } }

但是当我把它添加到我的网站的configurationNginx只是吐出PHP文件的源代码作为下载。 作为参考,这里是整个configuration文件:

http://pastebin.com/tyKtM1iB

使用PHP和Apache路由URLpath

我知道PHP的作品,如果我删除位置块,并与<?PHP PHPinfo(); 它工作正常。

任何帮助,将不胜感激。

这是我如何将所有的东西路由到index.PHP,包括子目录请求,http参数等。

location / { try_files $uri $uri/ /index.PHP?$args; #if doesn't exist,send it to index.PHP } location ~ .PHP$ { include fastcgi_params; fastcgi_intercept_errors on; # By all means use a different server for the fcgi processes if you need to fastcgi_pass 127.0.0.1:9000; }

所以例如,这些得到发送到index.PHP:

http://foo.bar/something/ http://foo.bar/something/?something=1

这些直接进入文件

http://foo.bar/someotherPHP.PHP http://img.zgserver.com/PHP/someimg.jpg

跳过正则表达式的结尾:

location / { index index.HTML index.PHP; if (!-e $request_filename) { rewrite ^.* /index.PHP break; fastcgi_pass 127.0.0.1:9001; } }

总结

以上是内存溢出为你收集整理的使用nginx通过index.php路由请求全部内容,希望文章能够帮你解决使用nginx通过index.php路由请求所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1288482.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存