首页 后端开发 php教程 使Nginx支持ThinkPHP框架_PHP教程

使Nginx支持ThinkPHP框架_PHP教程

Jul 14, 2016 am 10:07 AM
apache nginx thinkphp 公司 支持 服务器 框架

最近在将公司的一台的服务器从Apache迁移到Nginx的时候出了点问题,特做个笔记。
问题出在上面的一个网站是基于ThinkPHP框架开发的,用默认的方法配置不行。在网上baidu之后发现这个问题很普遍,通用解决方法的配置如下:
server {
 ...
        if (!-e $request_filename) {
           rewrite  ^/(.*)$  /index.php/$1  last;
           break;
        }

}

location  ~ .+\.php($|/) {
 ....
    set $script $uri;
    set $path_info  "/";
    if ($uri ~ "^(.+\.php)(/.*)") {
        set $script     $1;
        set $path_info  $2;
     }
    
    fastcgi_param  PATH_INFO  $path_info;
    fastcgi_param  SCRIPT_FILENAME  /path/to/web-root$script;

}


昨天在看书的时候突然发现,原来fastcgi模块自带了一个指令专门用来解决此类问题的,该指令是fastcgi_split_path_info  ,该指令会根据给定的正则表达式来分隔URL,从而提取出脚本名和path info信息,使用这个指令可以避免使用if语句,配置更简单。(server部分的if语句可以用try_files来代替),新的配置如下:
server {
 ...
  try_files  $uri  /index.php$uri;
}

location  ~ .+\.php($|/) {
 ....
    fastcgi_split_path_info  ^(.+\.php)(/.*)$;
    fastcgi_param  PATH_INFO $fastcgi_path_info;
    fastcgi_param  SCRIPT_FILENAME  /path/to/web-root$fastcgi_script_name;

}

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477891.htmlTechArticle最近在将公司的一台的服务器从Apache迁移到Nginx的时候出了点问题,特做个笔记。 问题出在上面的一个网站是基于ThinkPHP框架开发的,用默...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

WordPress站点文件访问受限:为什么我的.txt文件无法通过域名访问? WordPress站点文件访问受限:为什么我的.txt文件无法通过域名访问? Apr 01, 2025 pm 03:00 PM

Wordpress站点文件访问受限:排查.txt文件无法访问的原因最近有用户在配置小程序业务域名时,遇到一个问题:�...

如何在同一台服务器上通过Nginx配置让PHP5.6和PHP7共存? 如何在同一台服务器上通过Nginx配置让PHP5.6和PHP7共存? Apr 01, 2025 pm 03:15 PM

在同一系统中同时运行多个PHP版本是一个常见的需求,特别是当不同项目依赖于不同版本的PHP时。如何在同一台...

ThinkPHP6路由:如何完整获取包含中文等特殊字符的URL参数? ThinkPHP6路由:如何完整获取包含中文等特殊字符的URL参数? Apr 01, 2025 pm 02:51 PM

ThinkPHP6路由参数中文处理及完整获取在ThinkPHP6框架中,处理包含特殊字符(如中文及标点符号)的URL参数,常常...

如何解决使用ThinkPHP6和elasticsearch-php客户端连接Elasticsearch 8时的cURL error 77问题? 如何解决使用ThinkPHP6和elasticsearch-php客户端连接Elasticsearch 8时的cURL error 77问题? Mar 31, 2025 pm 11:36 PM

在使用ThinkPHP6框架结合elasticsearch-php客户端操作Elasticsearch...

如何在LAMP架构下高效整合Node.js或Python服务? 如何在LAMP架构下高效整合Node.js或Python服务? Apr 01, 2025 pm 02:48 PM

在LAMP架构下整合Node.js或Python服务许多网站开发者都面临这样的问题:已有的LAMP(Linux Apache MySQL PHP)架构网站需要...

h5项目怎么运行 h5项目怎么运行 Apr 06, 2025 pm 12:21 PM

运行 H5 项目需要以下步骤:安装 Web 服务器、Node.js、开发工具等必要工具。搭建开发环境,创建项目文件夹、初始化项目、编写代码。启动开发服务器,使用命令行运行命令。在浏览器中预览项目,输入开发服务器 URL。发布项目,优化代码、部署项目、设置 Web 服务器配置。

Gitee Pages静态网站部署失败:单个文件404错误如何排查和解决? Gitee Pages静态网站部署失败:单个文件404错误如何排查和解决? Apr 04, 2025 pm 11:54 PM

GiteePages静态网站部署失败:404错误排查与解决在使用Gitee...

如何在PC端和移动端共享同一个页面并处理缓存问题? 如何在PC端和移动端共享同一个页面并处理缓存问题? Apr 01, 2025 pm 01:57 PM

如何在PC端和移动端共享同一个页面并处理缓存问题?在使用宝塔后台搭建的nginx php mysql环境下,如何让PC端和�...

See all articles