Linux服务器ThinkPHP伪静态.htaccess文件创建教程【教程】
ThinkPHP伪静态生效需三条件:Apache启用mod_rewrite且AllowOverrideAll;.htaccess放public目录,权限644内容标准;框架路由开启。缺一导致404,常见/article/1返回404或路由未找到,需依次排查。
你可能已经配好了 .htaccess,也开了 Apache 的 rewrite 模块,结果访问 /article/1 依然 404——这种情况,我见过不少新手卡住。其实伪静态在 ThinkPHP 里并不是框架自己生成静态页面,而是靠服务器把请求重写到 index.php,再由框架解析路由。能不能生效,关键看三件事:Apache 的 mod_rewrite 是否启用、.htaccess 文件是否放对位置且权限正确、ThinkPHP 路由是否已开启。缺一不可。

Apache 必须启用 mod_rewrite 并允许 .htaccess 覆盖
很多新手卡在这一步,以为写了 .htaccess 就能用,结果 404 或直接显示目录列表。
- Linux 下执行
sudo a2enmod rewrite启用模块,然后sudo systemctl restart apache2 - 检查虚拟主机配置(如
/etc/apache2/sites-enabled/000-default.conf),确保对应目录段包含:AllowOverride All(不能是None或FileInfo不全) - 如果项目部署在子目录(比如
/var/www/html/myapp),还要确认该目录的AllowOverride已放开
.htaccess 文件必须放在 public 目录且命名/权限正确
ThinkPHP 5.1+ 默认入口在 public/ 目录,.htaccess 必须放在这里,不是根目录也不是 application/。
- 文件名是
.htaccess(开头带点,Linux 下是隐藏文件;Windows 记事本另存为时要加英文引号:".htaccess") - 确保文件可被 Apache 读取:
chmod 644 public/.htaccess,不能是 777 或 600 - 内容用标准规则,不要加多余空行或 BOM 头:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] - 若部署在子路径(如
https://example.com/shop/),必须加RewriteBase /shop/(注意末尾斜杠)
ThinkPHP 路由开关和 URL 模式要匹配
即使服务器重写成功,框架不解析路由,URL 还是会 404。TP6 和 TP5.1+ 默认关闭路由,必须手动开。
- TP6:检查
config/route.php中'with_route' => true,或确认route/目录下有定义规则 - TP5.1:确认
config/app.php中'url_route_on' => true已开启 URL_MODEL在 TP5 已废弃,TP6 完全移除,别在配置里写这个- 测试时用
php think route:list看当前注册的路由是否包含你期望的路径
常见错误现象和快速验证点
遇到伪静态不生效,按顺序排查比重写配置更有效。
- 访问
https://yourdomain.com/index.php/article/1能打开,但/article/1404 → 说明服务器重写没起作用 - 访问
/article/1返回 “No input file specified” 或空白 → PHP FastCGI 配置问题,不是伪静态问题 - 访问
/article/1显示 “The requested URL was not found on this server” → Apache 没加载.htaccess,查AllowOverride - 访问
/article/1显示 ThinkPHP 路由异常(如 “Route Not Found”)→ 框架路由未开启或没配规则 - 用
curl -I https://yourdomain.com/.htaccess返回 200 → 说明该文件能被直接下载,存在严重安全隐患,立刻设为deny from all或移出 Web 可访问路径
最易被忽略的是 AllowOverride All 这个配置项——它不在 .htaccess 里,而在 Apache 主配置中,且修改后必须重启服务。很多人反复改 .htaccess 却忘了这一步。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















