`

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...

    thinkphp3.1.3升级php7及nginx配置伪静态.zip

    在IT行业中,尤其是在Web开发领域,...在这个过程中,`index.php`是入口文件,`ThinkPHP`是ThinkPHP框架的核心库,而`APP`可能是项目的应用程序目录。通过这样的升级和配置,可以提升项目的性能并提供更好的用户体验。

    ThinkPHP的.htaccess文件

    ThinkPHP的去除URL中的index.php的.htaccess文件

    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...

    Thinkphp5 如何隐藏入口文件index.php(URL重写)

    这段代码的作用是当访问的请求不是目录也不是文件时,就将其重写到index.php文件,而index.php文件再根据路由规则进一步处理请求。 4. 重启Apache服务器: 在进行上述配置更改之后,为了使设置生效,需要重启...

    ThinkPHP 怎样才能URL地址不写index.php.ThinkPHP 怎样才能省略掉URL地址中的index.php字样

    在ThinkPHP框架中,URL地址通常会包含`index.php`,这是框架的入口文件,用于启动应用程序。然而,为了提供更美观和用户友好的URL,我们可以通过配置来省略这个部分。以下是一些详细的步骤和知识点,教你如何在...

    ThinkPHP框架里隐藏index.php

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

    Nginx隐藏index.php和Pathinfo模式配置例子

    在这种模式下,URL中的参数部分被放置在.php文件之后,如`example.com/index.php/controller/action`。 配置Pathinfo模式的关键在于正确地解析`PATH_INFO`环境变量,这通常由`fastcgi_pass`后的配置完成。在给定的...

    ThinkPHP 在阿里云上的nginx.config配置实例详解

    ThinkPHP是一个轻量级的PHP开发框架,它遵循MVC架构,易于上手并且功能强大,特别适合用于开发企业级的Web应用。而nginx是一款高性能的...如果用户在配置过程中遇到任何问题,应当详细阅读官方文档,或者寻求社区支持。

    ThinkPHP框架里隐蔽index.php_.docx

    本篇文章将探讨如何在ThinkPHP框架中隐藏`index.php`,以提升网站的安全性和用户体验。 首先,我们关注到配置文件的修改。在ThinkPHP 3.2.2版本中,有两个关键的设置与URL处理相关: 1. `'URL_CASE_INSENSITIVE'`...

    Nginx下支持Thinkphp URL Rewrite的配置示例

    `location ~ \.php$`这一段是处理PHP文件的配置,它使用FastCGI协议与运行在127.0.0.1:9000的PHP-FPM(PHP FastCGI Process Manager)服务进行通信。`SCRIPT_FILENAME`参数设置为脚本的实际路径,确保PHP能够正确...

    解决thinkPHP 5 nginx 部署时,只跳转首页的问题

    首先,问题产生的根本原因是Nginx配置文件中对于PHP文件的解析规则可能不正确,或者未能正确处理ThinkPHP的路由机制。ThinkPHP框架中的路由机制允许开发者自定义URL规则,以适应不同的项目需求。但在Nginx中,必须...

    完整版mvso影视系统源码thinkphp内核360kan影视电影源码.zip

    7. **index.php**:入口文件,通常用于初始化ThinkPHP框架并处理请求。 8. **think**:可能包含ThinkPHP框架的部分核心文件。 9. **安装教程.txt**:提供系统安装和配置的指南。 10. **.travis.yml**:Travis CI的...

    Nginx下ThinkPHP5的配置方法详解

    在Nginx服务器环境下配置ThinkPHP5框架是一个常见的任务,特别是在构建基于PHP的Web应用程序时。这篇文章主要讨论了如何在Nginx下正确配置ThinkPHP5以支持PATHINFO模式,这是ThinkPHP5推荐的一种URL模式,它使得URL...

    Thinkphp6.1开发Ai网址导航源码.zip

    在源码中,我们可以看到`.env`文件,这是环境配置文件,用于存储敏感信息,如数据库连接参数,避免被提交到版本控制系统。`.gitignore`文件则定义了在Git版本控制中应忽略的文件类型,有助于保持代码仓库的整洁。 `...

    使用PHP基于ThinkPHP开发的商城系统 - Kshop.zip

    2. `public`:作为Web服务器的入口,通常包含index.php文件,它是项目的起始点,负责调度请求。 3. `config`:配置文件,定义应用的全局设置,如数据库连接信息、路由规则等。 4. `database`:可能包含数据库迁移和...

Global site tag (gtag.js) - Google Analytics