nginx开启pathinfo模式的两种方式
2017-03-15 21:29
309 查看
*可能有人要问为什么apache不会出现这个问题?
apache一般是以模块的方式运行php,apache可以对$_SERVER['PATH_INFO']的值进行设置,不需要另外配置。
一、新版本的nginx也可以使用fastcgi_split_path_info指令来设置PATH_INFO,旧的方式不再推荐使用,在location段添加如下配置。
在location ~ .PHP下加入如可字段即可fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 重启nginx即可
二、打开nginx.conf配置文件,找到类似如下代码的地方(不同版本的nginx可能稍有不同,但大体都差不多)
location ~ \.php$
{
#原有代码
}
将其改成:
#去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo
location ~ \.php
{
#原有代码
#定义变量 $path_info
set $path_info "";
#定义变量 $real_script_name,用于存放真实地址
set $real_script_name $fastcgi_script_name;
#如果地址与引号内的正则表达式匹配
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
#将文件地址赋值给变量 $real_script_name
set $real_script_name $1;
#将文件地址后的参数赋值给变量 $path_info
set $path_info $2;
}
#配置fastcgi的一些参数
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}
apache一般是以模块的方式运行php,apache可以对$_SERVER['PATH_INFO']的值进行设置,不需要另外配置。
一、新版本的nginx也可以使用fastcgi_split_path_info指令来设置PATH_INFO,旧的方式不再推荐使用,在location段添加如下配置。
在location ~ .PHP下加入如可字段即可fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 重启nginx即可
二、打开nginx.conf配置文件,找到类似如下代码的地方(不同版本的nginx可能稍有不同,但大体都差不多)
location ~ \.php$
{
#原有代码
}
将其改成:
#去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo
location ~ \.php
{
#原有代码
#定义变量 $path_info
set $path_info "";
#定义变量 $real_script_name,用于存放真实地址
set $real_script_name $fastcgi_script_name;
#如果地址与引号内的正则表达式匹配
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
#将文件地址赋值给变量 $real_script_name
set $real_script_name $1;
#将文件地址后的参数赋值给变量 $path_info
set $path_info $2;
}
#配置fastcgi的一些参数
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}
相关文章推荐
- nginx安装ci,开启pathinfo模式
- nginx、TP框架实现兼容pathinfo和rewrite两种url访问方式
- nginx下开启pathinfo模式
- nginx下开启pathinfo模式
- TPshop5最新版 安装 nginx 开启PATHINFO 模式资源加载路径加载失败问题,适用tp3.2PATHINFO模式REWRITE模式
- nginx、TP框架实现兼容pathinfo和rewrite两种url访问方式
- nginx、TP框架实现兼容pathinfo和rewrite两种url访问方式
- 宝塔面板nginx 开启pathinfo模式
- Nginx 支持pathinfo模式
- Singleton模式的两种基本实现方式
- Nginx使用的php-fpm的两种进程管理方式及优化
- Nginx使用的php-fpm的两种进程管理方式及优化
- nginx开启pathinfo
- Nginx使用的php-fpm的两种进程管理方式及优化
- 单例模式的两种方式
- 05.pathinfo的两种模式与模版和控制器之间的关系
- 配置nginx,支持php的pathinfo路径模式
- Nginx使用的php-fpm的两种进程管理方式及优化
- Nginx使用的php-fpm的两种进程管理方式及优化
- backtrack两种开启ssh方式