修改 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;
}
}
分享到:
相关推荐
1,心血来潮,把ThinkPHP项目部署到了nginx上,以上是在apache上跑的。突然发现nginx不支持pathinfo功能,难怪在TP中调怎么都没管用。 2,开始上文件了,比网上其他一些杂的好多了: server { listen 80; #listen...
在IT行业中,尤其是在Web开发领域,...在这个过程中,`index.php`是入口文件,`ThinkPHP`是ThinkPHP框架的核心库,而`APP`可能是项目的应用程序目录。通过这样的升级和配置,可以提升项目的性能并提供更好的用户体验。
ThinkPHP的去除URL中的index.php的.htaccess文件
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...
这段代码的作用是当访问的请求不是目录也不是文件时,就将其重写到index.php文件,而index.php文件再根据路由规则进一步处理请求。 4. 重启Apache服务器: 在进行上述配置更改之后,为了使设置生效,需要重启...
在ThinkPHP框架中,URL地址通常会包含`index.php`,这是框架的入口文件,用于启动应用程序。然而,为了提供更美观和用户友好的URL,我们可以通过配置来省略这个部分。以下是一些详细的步骤和知识点,教你如何在...
本文所写的配置在ThinkPHP3.2.2上测试过。按理也兼容其它版本。 首先修改配置文件: ‘URL_CASE_INSENSITIVE’ => true, // 默认false 表示URL区分大小写 true则表示不区分大小写 ‘URL_MODEL’ => 2, // URL访问...
在这种模式下,URL中的参数部分被放置在.php文件之后,如`example.com/index.php/controller/action`。 配置Pathinfo模式的关键在于正确地解析`PATH_INFO`环境变量,这通常由`fastcgi_pass`后的配置完成。在给定的...
ThinkPHP是一个轻量级的PHP开发框架,它遵循MVC架构,易于上手并且功能强大,特别适合用于开发企业级的Web应用。而nginx是一款高性能的...如果用户在配置过程中遇到任何问题,应当详细阅读官方文档,或者寻求社区支持。
本篇文章将探讨如何在ThinkPHP框架中隐藏`index.php`,以提升网站的安全性和用户体验。 首先,我们关注到配置文件的修改。在ThinkPHP 3.2.2版本中,有两个关键的设置与URL处理相关: 1. `'URL_CASE_INSENSITIVE'`...
`location ~ \.php$`这一段是处理PHP文件的配置,它使用FastCGI协议与运行在127.0.0.1:9000的PHP-FPM(PHP FastCGI Process Manager)服务进行通信。`SCRIPT_FILENAME`参数设置为脚本的实际路径,确保PHP能够正确...
首先,问题产生的根本原因是Nginx配置文件中对于PHP文件的解析规则可能不正确,或者未能正确处理ThinkPHP的路由机制。ThinkPHP框架中的路由机制允许开发者自定义URL规则,以适应不同的项目需求。但在Nginx中,必须...
7. **index.php**:入口文件,通常用于初始化ThinkPHP框架并处理请求。 8. **think**:可能包含ThinkPHP框架的部分核心文件。 9. **安装教程.txt**:提供系统安装和配置的指南。 10. **.travis.yml**:Travis CI的...
在Nginx服务器环境下配置ThinkPHP5框架是一个常见的任务,特别是在构建基于PHP的Web应用程序时。这篇文章主要讨论了如何在Nginx下正确配置ThinkPHP5以支持PATHINFO模式,这是ThinkPHP5推荐的一种URL模式,它使得URL...
在源码中,我们可以看到`.env`文件,这是环境配置文件,用于存储敏感信息,如数据库连接参数,避免被提交到版本控制系统。`.gitignore`文件则定义了在Git版本控制中应忽略的文件类型,有助于保持代码仓库的整洁。 `...
2. `public`:作为Web服务器的入口,通常包含index.php文件,它是项目的起始点,负责调度请求。 3. `config`:配置文件,定义应用的全局设置,如数据库连接信息、路由规则等。 4. `database`:可能包含数据库迁移和...