如何设置Nginx以适配ThinkPHP的URL重写规则?

2026-04-30 11:321阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计973个文字,预计阅读时间需要4分钟。

如何设置Nginx以适配ThinkPHP的URL重写规则?

如果您已经将ThinkPHP项目部署至Nginx服务器,但在访问时发现无需携带index.,可能的原因如下:

一、标准try_files方案(推荐用于ThinkPHP 6.x)

该方案利用try_files指令实现原子化路径匹配,避免rewrite循环,兼容QUERY_STRING传递,是TP6官方推荐方式。它优先尝试匹配真实静态资源,失败后统一交由index.php处理,并保留原始查询参数。

1、编辑站点server块,在location /内添加以下规则:

2、try_files $uri $uri/ /index.php?$query_string;

立即学习“PHP免费学习笔记(深入)”;

3、确保location ~ \.php$块中fastcgi_param SCRIPT_FILENAME值为$document_root$fastcgi_script_name严禁使用$request_filename

4、确认PHP-FPM监听地址与fastcgi_pass配置一致(如unix:/var/run/php/php8.1-fpm.sock127.0.0.1:9000)。

阅读全文

本文共计973个文字,预计阅读时间需要4分钟。

如何设置Nginx以适配ThinkPHP的URL重写规则?

如果您已经将ThinkPHP项目部署至Nginx服务器,但在访问时发现无需携带index.,可能的原因如下:

一、标准try_files方案(推荐用于ThinkPHP 6.x)

该方案利用try_files指令实现原子化路径匹配,避免rewrite循环,兼容QUERY_STRING传递,是TP6官方推荐方式。它优先尝试匹配真实静态资源,失败后统一交由index.php处理,并保留原始查询参数。

1、编辑站点server块,在location /内添加以下规则:

2、try_files $uri $uri/ /index.php?$query_string;

立即学习“PHP免费学习笔记(深入)”;

3、确保location ~ \.php$块中fastcgi_param SCRIPT_FILENAME值为$document_root$fastcgi_script_name严禁使用$request_filename

4、确认PHP-FPM监听地址与fastcgi_pass配置一致(如unix:/var/run/php/php8.1-fpm.sock127.0.0.1:9000)。

阅读全文