ThinkPHP 5.0伪静态规则由Web服务器接管,Apache放public/.htaccess,Nginx配server块中location /且root指向public/,IIS放public/web.config,三者均须确保public为Web根目录。

ThinkPHP 5.0 的伪静态规则不放在项目代码目录里,而是由 Web 服务器(Apache/Nginx/IIS)接管,配置在服务器的站点配置文件或特定规则文件中。框架本身不存储或执行“伪静态规则”,它只负责接收重写后的请求并解析路由。
具体位置取决于你用的服务器类型:
Apache 环境:规则写在 .htaccess 文件中,该文件必须放在 public/ 目录下
(TP5 默认入口文件 index.php 就在 public/,这是 Web 根目录)
✅ 正确路径:/your-project/public/.htaccess
⚠️ 注意:若放错位置(比如放到 application/ 或项目根目录),规则不会生效。
Nginx 环境:规则写在 Nginx 的 server 块配置中,不是项目目录里的文件
例如:
- Linux 手动部署:
/etc/nginx/conf.d/your-site.conf - 宝塔面板:网站 → 设置 → 配置文件
- 小皮(phpStudy):网站 → 管理 → 配置文件
? 关键是location / { ... }块内,且root指向必须是public/目录。
IIS 环境:规则写在 web.config 文件中,该文件也必须放在 public/ 目录下
(与 index.php 同级)
总结一下关键点:
- 伪静态是服务器层行为,不是 PHP 代码或 ThinkPHP 配置项
-
.htaccess和web.config这类文件,必须和index.php在同一目录(即public/) - Nginx 没有“目录级规则文件”,必须改全局或站点级配置
- 无论哪种方式,都需确保
public/是实际 Web 访问根目录,否则路径错乱会导致 404 或 index.php 暴露
不复杂但容易忽略
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











