Nginx下实现pathinfo及ThinkPHP的URL模式
发布时间 - 2026-01-11 01:05:18 点击率:次打开Nginx配置文件(不同版本的Nginx可能稍有不同),配置:
#去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo
#如果不需要用到php后缀,也可以将其去掉
location ~ .php {
#原有代码
#定义变量 $path_info ,用于存放pathinfo信息
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服务器就可以支持pathinfo了。但是如果要支持ThinkPHP的URL_MODE设置为2的模式,还需要配置rewrite规则。找到access_log语句,在其上方加上以下语句:
#如果请求既不是一个文件,也不是一个目录,则执行一下重写规则
if (!-e $request_filename) {
#地址作为将参数rewrite到index.php上。
rewrite ^/(.*)$ /index.php/$1;
#若是子目录则使用下面这句,将subdir改成目录名称即可。
#rewrite ^/subdir/(.*)$ /subdir/index.php/$1;
}
保存配置文件,重启Nginx服务,把ThinkPHP的URL_MODEL设置为2,如果能正常访问,说明配置成功。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# thinkphp开启pathinfo
# nginx
# pathinfo
# nginx开启pathinfo
# PHP使用Nginx实现反向代理
# Win10 下安装配置IIS + MySQL + nginx + php7.1.7
# 详解Nginx 和 PHP 的两种部署方式的对比
# PHP 网站修改默认访问文件的nginx配置
# nginx配置支持php的pathinfo模式配置方法
# 详解如何在CentOS7中使用Nginx和PHP7-FPM安装Nextcloud
# Centos6.4 编译安装 nginx php的方法
# windows下RunHiddenConsole 启动 nginx与php(RunHiddenCon
# 是一个
# 设置为
# 配置文件
# 也不
# 不需要
# 将其
# 还需要
# 重写
# 重启
# 稍有
# 这句
# 既不
# 大家多多
# 就可以
# 是为了
# 不匹配
# 正则表达式
# location
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
EditPlus中的正则表达式 实战(4)
如何快速打造个性化非模板自助建站?
深圳网站制作培训,深圳哪些招聘网站比较好?
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
Android实现代码画虚线边框背景效果
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
Laravel如何处理文件下载请求?(Response示例)
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
Android滚轮选择时间控件使用详解
如何快速完成中国万网建站详细流程?
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
如何在 Pandas 中基于一列条件计算另一列的分组均值
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
公司门户网站制作流程,华为官网怎么做?
Python高阶函数应用_函数作为参数说明【指导】
如何用花生壳三步快速搭建专属网站?
原生JS获取元素集合的子元素宽度实例
html5的keygen标签为什么废弃_替代方案说明【解答】
如何正确下载安装西数主机建站助手?
Laravel如何生成URL和重定向?(路由助手函数)
linux写shell需要注意的问题(必看)
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
如何挑选优质建站一级代理提升网站排名?
JavaScript如何实现类型判断_typeof和instanceof有什么区别
MySQL查询结果复制到新表的方法(更新、插入)
JS经典正则表达式笔试题汇总
Laravel如何实现API资源集合?(Resource Collection教程)
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
微信小程序 wx.uploadFile无法上传解决办法
Laravel Fortify是什么,和Jetstream有什么关系
Laravel如何生成API文档?(Swagger/OpenAPI教程)
如何在橙子建站中快速调整背景颜色?
如何注册花生壳免费域名并搭建个人网站?
高防服务器租用如何选择配置与防御等级?
如何用好域名打造高点击率的自主建站?
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
Linux安全能力提升路径_长期防护思维说明【指导】
Laravel如何自定义分页视图?(Pagination示例)
如何用腾讯建站主机快速创建免费网站?
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
简单实现jsp分页
Laravel如何创建自定义Facades?(详细步骤)
大连 网站制作,大连天途有线官网?
如何在香港服务器上快速搭建免备案网站?

