`

ThinkPHP 在NGINX 中配置如何隐藏index.php文件

    博客分类:
  • PHP
 
阅读更多
修改 nginx.conf  文件;   一共有两种方法 ,用那种都行

方法一

server {  
 ...  
    location / {  
        index  index.htm index.html index.php;  
        #访问路径的文件不存在则重写URL转交给ThinkPHP处理  
        if (!-e $request_filename) {  
           rewrite  ^/(.*)$  /index.php/$1  last;  
           break;  
        }  
    }  
    location ~ \.php/?.*$ {  
        root        /var/www/html/website;  
        fastcgi_pass   127.0.0.1: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;  
    }  
}  


方法二

server {  
 ...  
    location / {  
        index  index.htm index.html index.php;  
        #如果文件不存在则尝试TP解析  
        try_files  $uri  /index.php$uri;  
    }  
    location ~ .+\.php($|/) {  
        root        /var/www/html/website;  
        fastcgi_pass   127.0.0.1:9000;  
        fastcgi_index  index.php;  
          
        #设置PATH_INFO,注意fastcgi_split_path_info已经自动改写了fastcgi_script_name变量,  
        #后面不需要再改写SCRIPT_FILENAME,SCRIPT_NAME环境变量,所以必须在加载fastcgi.conf之前设置  
        fastcgi_split_path_info  ^(.+\.php)(/.*)$;  
        fastcgi_param  PATH_INFO $fastcgi_path_info;  
          
        #加载Nginx默认"服务器环境变量"配置  
        include        fastcgi.conf;  
    }  
}  


分享到:
评论

相关推荐

    浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法

    1,心血来潮,把ThinkPHP项目部署到了nginx上,以上是在apache上跑的。突然发现nginx不支持pathinfo功能,难怪在TP中调怎么都没管用。 2,开始上文件了,比网上其他一些杂的好多了: server { listen 80; #listen...

    Nginx配置PATHINFO隐藏thinkphp index.php

    Nginx配置PATHINFO隐藏index.php Nginx配置文件里放入这段代码 server { listen 80; default_type text/plain; root /var/www/html; index index.php index.htm index.html; #隐藏index.php location / { if...

    ThinkPHP框架里隐藏index.php

    本文所写的配置在ThinkPHP3.2.2上测试过。按理也兼容其它版本。 首先修改配置文件: ‘URL_CASE_INSENSITIVE’ => true, // 默认false 表示URL区分大小写 true则表示不区分大小写 ‘URL_MODEL’ => 2, // URL访问...

    nginx下配置thinkphp文件的方法

    在上篇文章给大家介绍了在Nginx上部署ThinkPHP项目教程,今天给大家介绍nginx下thinkphp的配置,具体详解如下: ## domain redirect #if ($host != my.ruanzhuangyun.cn){ # rewrite ^/(.*)$ ...

    thinkphp在低版本Nginx 下支持PATHINFO的方法分享

    在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf(在/usr/local/nginx/conf/nginx.conf或者通过find / | grep nginx.conf来查找位置)中配置转发规则实现:在nginx配置文件中添加: location / { ...

    Thinkphp宅音乐html5在线音乐播放器参考分享

    #访问路径的文件不存在则重写URL转交给ThinkPHP处理 if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?s=$1 last; break; } } apache 项目自带apache静态化无需配置 启动项目 添加public为web根目录 若为...

    ThinkPHP开发脱单盲盒源码.zip

    运行环境:php7.3+nginx+mysql 导入后端文件及数据库 修改根目录.env及config文件中database.php的数据库信息 修改运行目录为public,开启SSL,伪静态设置如下location / {try_files $uri $uri/ /index.php$is_args$...

    wpsshop官方正版5.0.2 b2c 商城 thinkphp (php开源项目)

    Wpsshop商城系统 - ... 在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf中配置转发规则实现: location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } }

    开源Thinkphp宅音乐html5在线音乐播放器

    #访问路径的文件不存在则重写URL转交给ThinkPHP处理 if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?s=$1 last; break; } } 视频安装教程:https://www.bilibili.com/video/av46476706

    wpsshop官方正版5.0.1 thinkphp框架 手机端 pc端 官方1.9万

    Wpsshop商城系统 - ... 在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf中配置转发规则实现: location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } }

    thinkphp5的商城

    如果你是nginx 服务器 lnmp 安装的, 并且是按照 lnmp 官网标准安装的 你可以 直接拿当前根目录下的 nginx.conf2 文件 改名字覆盖你的 对应域名的文件. 然后修改里面的 "www.tp-shop.cn" 域名换成你的即可 比如我的...

    基于docker的thinkphp5框架的lnmp开发环境

    基于docker的thinkphp5框架的lnmp开发环境 mysql默认端口为:`33060` nginx默认端口为:`8080` redis默认端口为:`63790` ...具体配置可修改根目录`.env`文件 docker-compose up --build -d #构建并后台执行

    Thinkphp5萤火商城B2C小程序源码.zip

    Thinkphp5萤火商城B2C小程序源码,是一款开源的电商系统,为中小企业提供最佳的新零售解决方案。采用稳定的MVC框架开发,执行效率、扩展性、稳定性值得信赖。 环境要求 Nginx/Apache/IIS PHP5.4+ MySQL5.1+ 建议...

    解决nginx不支持thinkphp中pathinfo的问题

    其实,要解决nginx不支持pathinfo的问题,有两个解决思路,一是不使用pathinfo模式,二是修改nginx的配置文件,使它支持pathinfo。为了使问题简单化,我选择了第一种方式,因为就第二种方式,我查了很多资料,发现...

    VUE+THINKPHP商城分销返佣源码

    4.配置数据库:打开文件/config/database.php 5.网站后端:域名/admin 亲测环境: nginx1.16 php7.2 mysql5.6 开启定时任务:自动结算分红 1分钟1次 /index/index/item_crontab 后端技术栈: 程序基于 THINKPHP6+VUE...

    嘟嘟跑腿外卖系统源码.zip

    Tpl 前端模板目录 Upload 文件上传目录 .htaccess 目录级别的修改配置的方式 admin.php 总管理后端入口 index.php 站点首页 shop.php 商家入口 开发语言:基于Thinkphp框架+bootstrap+layer 开发工具...

    PTCMS自动采集小说网站系统源码 PC+H5

    1. 上传网站文件到网站目录,伪静态选择thinkphp 2. 导入数据库文件dkewl.sql 3. 修改数据库信息/application/common/config.php 4. 注意:如果伪静态正常网站还出现404,打开根目录index.php,倒数第二行代码...

    Nginx服务器如何设置url链接

    对于LNMP这样架构的网站来说,一般都是基于php框架开发,php框架一般都会讲究优雅链接,比如Laravel,CodeIgniter,ThinkPHP等都是支持这种链接模式的,在服务器... 首先进入nginx的安装目录,上篇文章中说了在配置文

Global site tag (gtag.js) - Google Analytics