nginx不支持pathinfo模式解决方法

错误描述:1,打开网页,页面提示不支持pathinfo
                 2,类似 index.php/hellworld 会提示找不到页面

解决办法:1,修改nginx.conf的server{} 中的内容下:

备注: 如果是在vhost配置下可单独添加在vhost配置文件下,如果没有vhost则在nginx.conf配置文件下添加
75         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

76         #

77         location ~ \.php {

78             root           html;

79             fastcgi_pass   127.0.0.1:9000;

80             fastcgi_index  index.php;

81             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

82             include        fastcgi_params;

83         #pathinfo support

84             set $real_script_name $fastcgi_script_name;

85             set $path_info "";

86             if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$"){

87                 set $real_script_name $1;

88                 set $path_info $2;

89             }

90

91             fastcgi_param SCRIPT_NAME $real_script_name;

92             fastcgi_param PATH_INFO $path_info;

93

94         }

时间: 2024-10-19 11:18:21

nginx不支持pathinfo模式解决方法的相关文章

nginx低版本不支持pathinfo模式,thinkphp针对此问题的解决办法

将一个thinkphp项目从apache环境移到nginx1.2上,怎奈,nginx这个版本默认不支持pathinfo模式 首先,编辑nginx的虚拟主机配置文件 location ~ .*.(php|php5)?$ { #原有代码 } if (!-e $request_filename) {   rewrite  ^(.*)$  /index.php?s=$1  last;   break;    } #去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo #如果你不需要用到p

让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法转

让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法 最近做一个Web网站,之前一直觉得bootstrap非常好,这次使用了bootstrap3,在chrome,firefox,safari,opera,360浏览器(极速模式).搜狗浏览器等浏览器下均没有问题,而在IE8及IE11下发现样式无法显示,然后各种百度啊,最后在 雅朋网 的一个网友帖子的帮助下解决了问题,也参考了 千寻学习网 的资料,先将解决方法总结如下: 首先需要确保你的HTML页面开始部分要有DOC

转载------让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法

本文是转载及收藏 让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法 最近做一个Web网站,之前一直觉得bootstrap非常好,这次使用了bootstrap3,在chrome,firefox,safari,opera,360浏览器(极速模式).搜狗浏览器等浏览器下均没有问题,而在IE8及IE11下发现样式无法显示,然后各种百度啊,最后在 雅朋网 的一个网友帖子的帮助下解决了问题,也参考了 千寻学习网 的资料,先将解决方法总结如下: 首先需要确保你的HTML页面

IE下使用excanvas.js之后动态创建的canvas不支持getContext的解决方法(转)

IE下使用excanvas.js之后动态创建的canvas不支持getContext的解决方法(转) IE下使用excanvas.js之后,动态创建的canvas不支持getContext的解决方法 引入excanvas.js以后,在ie下,文档中的canvas就可以用了,但是如果是通过createElement方法创建的就不行了 var canvas=document.createElement(”canvas”); if(canvas.getContext){ alert(”support

MySQL不支持事务处理的解决方法

MySQL不支持事务处理的解决方法 2014年07月07日23:20    百科369 MySQL不支持事务处理的解决方法 MySQL数据库默认的存储引擎类型是MyISAM,这种存储引擎类型不支持事务处理. 在MySQL中,只有InnoDB存储引擎类型的数据表才能支持事务处理. 因此,如果想让MySQL支持事务处理,只要将数据表修改为InnoDB存储引擎类型即可.操作步骤如下: 1. 进入到phpMyAdmin主界面,在导航面板中选择要转换为InnoDB存储引擎类型的数据库,例如选择db_xue

xp远程连接server2008不支持网络验证解决方法

故障:"远程计算机需要网络级别身份验证,而您的计算机不支持该验证,请联系您的系统管理员或者技术人员来获得帮助"故障症状:当您使用Windows XP"远程桌面连接"工具去连接Windows Vistas或Windows Server 2008的远程桌面.终端服务时,出现上述故障.故障产生环境:远程桌面连接工具6.0以下版本,或者Windows XP Profressional SP1.SP2.SP3解决方法:1.请升级"远程桌面连接"工具最新6.

修改Nginx解决ThinkPHP不支持PathInfo模式

最精简的Nginx配置 server { listen 80; server_name test.com; charset utf-8; location / { root E:/WWW/test; index index.php; if (!-e $request_filename) { #一定要用(.*)匹配整个URI,包含URI第一个字符反斜杠/ #rewrite ^(.*)$ /index.php?s=$1 last; rewrite ^/(.*)index.php(.*)$ $1/in

配置Nginx支持pathinfo模式

Nginx服务器默认不支持pathinfo, 在需要pathinfo支持的程序中(如thinkphp),则无法支持”/index.php/Home/Index/index”这种网址.网上流传的解决办法很多,这里提供一种比较简洁的写法(只需要改动2行代码)典型配置location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $DOC

nginx+thinkphp下解决不支持pathinfo模式以及存在的各种404,500问题

nginx环境问题弄了两天,发现网上很多人的帖子要么复制粘贴,要么就是没有结贴,还自己写一句“哈哈,我自己解决了”之类的,这点我就鄙视这些发帖的同胞了,你说你问题问了,问题解决了也不给个解释.还在搜索的前几页,想没想过需要答案的人的感受呢.满心欢喜的去看答案,发现没有结贴.好吧,不多说,进入正题. 我这种方式是不需要将URL_Model改为rewrite/兼容的: 大约第43行,按照下面的对照自己的code进行修改,请注意细节的符号: location / {            root