在 Nginx 下支持 Thinkphp URL Rewrite 的配置示例. . Nginx服务器现在已经成为相当流行的开源Web服务器,很多生产环境也都在使用Nginx服务器。 现在做项目大多数时候都是在使用ThinkPHP,但是Nginx默认不支持ThinkPHP的pathinfo模式,需要进行一定的配置。 Nginx配置文件. 做个备份,方便以后查看:) 相关推荐: thinkPHP5项目中实现QQ第三方登录功能. The above is the detailed content of Configuration to support Thinkphp URL Rewrite under Nginx.

配置示例
配置文件
在 Nginx 中支持 ThinkPHP 的 URL Rewrite,需要对 Nginx 的配置文件进行特定的设置,这包括启用rewrite 模块,并通过location 指令来指定重写规则。
步骤和代码块
1、打开 Nginx 配置文件:
通常位于/usr/local/nginx/conf/nginx.conf,具体路径可能因安装方式不同而异。
2、定位到 server 区块:
找到您想要配置的服务器区块,或者如果您为特定站点配置了虚拟主机 (vhost),直接编辑相应的配置文件。
3、修改 location 区块:

需要修改处理 PHP 请求的location 区块,确保其可以处理 ThinkPHP 的 Pathinfo 模式。
配置详情表
| 配置部分 | 配置指令 | 功能解释 |
| Server | listen 80; |
使 Nginx 监听 80 端口。 |
server_name example.com; |
设置服务器名称为 example.com。 | |
| Location | location / { |
匹配根目录的请求。 |
try_files $uri $uri/ /index.php?$query_string; |
尝试直接请求的文件或目录,如果不存在,则转发到 index.php。 | |
| Php Location | location ~ \.php$ { |
匹配所有 .php 结尾的请求。 |
fastcgi_pass 127.0.0.1:9000; |
将 PHP 请求传递到 FastCGI 服务,这里假设它运行在本地的 9000 端口。 | |
fastcgi_index index.php; |
设置 FastCGI 服务的默认索引文件为 index.php。 | |
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; |
设置传递给 PHP-FPM 的脚本文件名参数。 | |
include fastcgi_params; |
包括标准的 FastCGI 参数。 |
相关问题与解答
Q1: 如何在已有的 Nginx 配置中添加对 ThinkPHP URL Rewrite 的支持?
Q2: 如何确认我的 Nginx 配置正确并支持 ThinkPHP 的 Pathinfo?
Q1: 在已有的 Nginx 配置中添加对 ThinkPHP URL Rewrite 的支持
1、打开您的 Nginx 配置文件。
2、找到您想修改的 server 区块。
3、在location / 区块中,添加try_files 指令,如上表所示。

4、确保您的 PHP 请求处理部分(通常在location ~ \.php$)包含了必要的 FastCGI 配置。
Q2: 确认 Nginx 配置正确并支持 ThinkPHP 的 Pathinfo
1、检查 Nginx 配置文件的语法是否正确:使用命令nginx -t。
2、重新加载或重启 Nginx 以应用新的配置:使用命令systemctl reload nginx 或systemctl restart nginx。
3、创建一个 ThinkPHP 项目,并尝试访问它的路由,看是否能正确解析。
4、查看 Nginx 的错误日志,确保没有关于配置错误的信息。
通过以上步骤和问题解答,您可以更好地理解和配置 Nginx 以支持 ThinkPHP 的 URL Rewrite,这将有助于提升您的网站性能和 SEO 优化。