让Nginx支持ThingPHP的rewrite路由模式

****前言**** 心累了,没有配置好Nginx整合ThinkPHP的话,啥提示也没有,之前一直将tp框架项目部署在apache服务器上面,记录这次让Nginx支持ThingPHP的rewrite路由模式。

LNMP基于docker构建

****解决方案****

  • 修改网站虚拟主机的配置文件 **.conf
server {
    listen  8090;

    server_name  localhost;

    location / { 
        root   /www/backstage/;
        index  index.htm index.html index.php;  
        #访问路径的文件不存在则重写URL转交给ThinkPHP处理  
        if (!-e $request_filename) {  
           rewrite  ^/(.*)$  /index.php/$1  last;  
           break;  
        }  
    }  

    location ~ \.php/?.*$ {  
        root           /www/backstage/;
        fastcgi_pass   __DOCKER_PHP_FPM__:9000;
        fastcgi_index  index.php; 
        #加载Nginx默认"服务器环境变量"配置  
        include        fastcgi.conf;  
          
        #设置PATH_INFO并改写SCRIPT_FILENAME,SCRIPT_NAME服务器环境变量  
        set $fastcgi_script_name2 $fastcgi_script_name;  
        if ($fastcgi_script_name ~ "^(.+\.php)(/.+)$") {  
            set $fastcgi_script_name2 $1;  
            set $path_info $2;  
        }  
        fastcgi_param   PATH_INFO $path_info;  
        fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name2;  
        fastcgi_param   SCRIPT_NAME   $fastcgi_script_name2;  
    }  
}

  • 配置TP框架的conf
/**
 * 路由配置
 */
'URL_ROUTER_ON' => true,      //开启路由
'URL_MODEL' => 2,

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

springboot入门(4)_web开发

springboot入门(4)_web开发 摘要: 前几篇大概介绍了demo的搭建运行,Thymeleaf模板引擎的整合还有运行原理(主要是自动默认配置star...

4219
来自专栏Flutter&Dart

DartVM服务器开发(第三天)--pub管理器、返回html页面

右键点击项目名,New--File,命名为:pubspec.yaml 并在文件里面输入下面内容 (因为在使用外部包时,首先你应该是一个包,所以下面这个内容是...

984
来自专栏Java后端技术

Cannot change version of project facet Dynamic Web Module to 3.0

  最近在开发项目时,老是报错说:Project is not Dynamic Web Module 3.0.右击项目选择属性进行修改时出现以下错误:

843
来自专栏大内老A

How ASP.NET MVC Works?

一、ASP.NET + MVC IIS与ASP.NET管道 MVC、MVP以及Model2[上篇] MVC、MVP以及Model2[下篇] AS...

1846
来自专栏java、Spring、技术分享

Spring Cloud Config

  每个系统都会有一些配置信息需要处理,比如通用的数据源的配置,连接池的配置,log信息的配置。原来系统的处理方式都是通过将配置文件打包部署到线上,对于需要动态...

762
来自专栏Samego开发资源

如何搭建Web文件管理系统之elfinder

3785
来自专栏CodeSheep的技术分享

RPC框架实践之:Google_gRPC

1869
来自专栏Android开发实战

Gradle自定义插件详解

开发Gradle插件可以在IDEA中进行开发,也可以在Android Studio中进行开发,它们唯一的不同,就是IDEA提供了Gradle开发的插件,比较方...

512
来自专栏Rovo89

终端ssh登录你的服务器

1355
来自专栏岑玉海

oozie 安装过程详解

1.从apache的官网下载oozie3.3.2 2.编译oozie,以下命令用root来执行吧,它不做任何的测试的,因为一测试就会出错的 官网...

3584

扫码关注云+社区