在nginx中配置pathinfo模式支持thinkphp的URL重写
时间:2024-05-03 15:50:48
最近一个项目中使用了ThinkPHP做为开发框架,URL上我们使用了PATHINFO模式,但是Nginx默认是不支持PATHINFO的,需要进行手动配置才可以,于是我们按照了以下方法进行了Nginx的PATHINFO支持配置:
修改nginx.conf,找到server中的 location ~ .php${},修改为location ~ .php {},并在其中增加以下内容:
set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
不过无论我们如何测试,都发现PATHINFO模式总是不能正确运行,就算运行后,{:U}方法也总是出错,打印$_SERVER后发现PHP_SELF总是不对。
但是依然PATHINFO不能正确正常工作,于是我们确定是ThinkPHP的配置问题,发现其实是ThinkPHP的_PHP_FILE的问题,在入口文件index.php中加入配置define('_PHP_FILE_',$_SERVER['SCRIPT_NAME']);,问题解决。
如果$_SERVER['SCRIPT_NAME'] 路径也不对,请先替换为正确的文件路径。
标签:nginx,pathinfo,thinkphp
0
投稿
猜你喜欢
从MySQL4.0向MySQL5迁移数据
2007-11-19 13:11:00
python正则表达式匹配不包含某几个字符的字符串方法
2023-06-11 16:52:45
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
2022-12-22 16:50:09
MS SQL Server中的CONVERT日期格式化大全
2010-08-07 11:31:00
分享Win10 1903过TP的双机调试问题
2023-03-09 19:02:37
python 自动监控最新邮件并读取的操作
2023-02-04 12:58:51
关于django 数据库迁移(migrate)应该知道的一些事
2024-01-24 08:42:50
微信小程序页面缩放式侧滑效果的实现代码
2023-09-02 05:21:45
python定时任务sched库用法简单实例
2023-11-07 07:26:14
使用SQL Server 2008中对象相关性
2008-12-12 06:36:00
javascript中的变量是传值还是传址的?
2024-04-10 10:52:28
JavaScript变量声明var,let.const及区别浅析
2024-05-09 15:05:37
对Python的交互模式和直接运行.py文件的区别详解
2023-12-18 00:03:55
PHP 计算两个特别大的整数实例代码
2024-05-11 10:07:33
Python使用pyshp库读取shapefile信息的方法
2023-07-27 04:56:36
asp访google分页代码
2009-07-10 13:06:00
从两个方面讲解SQL Server口令的脆弱性
2009-01-08 13:40:00
通过源码分析Python中的切片赋值
2021-06-26 16:31:04
惰性函数定义模式
2007-09-26 20:56:00
Python线程之定位与销毁的实现
2023-09-25 11:47:19