怎么让nginx可以识别/index.html/a/b这样的链接 我的nginx 没有fastcgi 我是把php请求反向代理给apache

 我来答
17哥
2013-06-02 · 菩提只向心觅,何劳向外求玄
17哥
采纳数:244 获赞数:1230

向TA提问 私信TA
展开全部

你所说的让nginx识别的/index.html/a/b是不是想让a和b作为index.html的参数?如果是这样的话可以再nginx做一个url的重写。

rewrite "^/index.html/([^\/\?]*)/([^\/\?]*)$" /index.html?arg1=$1&arg2=$2 break;

这样的话就可以把你的请求重写为如上所示的url,这样,nginx把该请求转发给apache时,apache就能按照正常的url参数处理原始的url了。

不知道我的理解是否和你想问的问题一致,但是我想你也应该是问这个。呵呵。

追答

首先可以肯定的是nginx的fastcgi模块肯定是有的,你所说的nginx没有fastcgi是因为你没有安装php-fpm吧?如果是这样的话,没有必要搞一个apache,安装一下php就可以了。

另外,nginx不认/index.html/a/b这种url,这个我有疑问。我在自己机器上实验了下,发现nginx是可以识别这种url的,日志如下:

 server: localhost, request: "GET /index.html/a/b HTTP/1.1",

只是我没有做url路由所以访问错误而已。但是从日志看,nginx是可以解析你问题中提到的url的。

追问
你猜的没错 就是因为没有装php-fpm
由于版本种种原因 我无法装这个。。。

现在问题基本解决了
/index.html/a/b 在我这还是无法解析
但是
/index.php/a/b php文件可以
我要的就是PHP文件

我之前是在PHP的框架里测不行 不用框架单测PHP就可以 看来是框架没有配置对

非常感谢你的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式