直接选模板最稳,宝塔内置wordpress、thinkphp等模板已适配各框架入口逻辑和参数传递;须点击下拉菜单选择、保存后重载nginx,并在程序后台开启重写开关(如wordpress设非朴素固定链接),三者缺一不可。

直接选模板最稳,别手写——宝塔伪静态页面下拉菜单里的 wordpress、thinkphp、typecho、laravel 都是经过验证的现成规则,95% 的场景用它就能跑通。
为什么官方模板比手写规则更可靠
宝塔内置模板不是简单复制粘贴,而是针对各框架的入口逻辑、参数传递方式、子目录兼容性做过适配。比如 wordpress 模板默认带 $args,能保证分页、搜索、评论链接不丢参;而手写时漏掉这个,就会出现点进文章列表页正常、点第二页直接 404 的情况。
常见错误现象包括:
- 选了
thinkphp模板但网站根目录不在/(比如在/sub/),结果所有路由 fallback 到首页 - 手动粘贴了带
s=$1的规则给 Laravel 用,但 Laravel 5.3+ 默认读$query_string,导致全部请求被当成首页处理 - 复制了 Apache 的
.htaccess规则到 Nginx 伪静态框里,语法不兼容直接报错
怎么快速选对模板并生效
操作路径固定,但有三个关键动作容易被跳过:
- 进入「网站 → 设置 → 伪静态」后,必须从下拉菜单中**点击选择**(不是输入文字),选完立即点「保存」
- 保存后弹出提示「是否重载 Nginx?」——必须点「是」,只保存不重载,规则压根不加载
- 部分程序(如
typecho、wordpress)还需进程序后台开启重写开关:typecho是「设置 → 永久链接 → 是否使用地址重写功能」;wordpress是「设置 → 固定链接 → 选非朴素结构」
什么时候不能直接套模板
模板适合标准部署,一旦有以下情况,就得改规则或拆站点:
- WordPress 装在子目录(如
https://example.com/blog/):不能用默认wordpress模板,得手动加location /blog/ { ... }块,并把try_files中的/index.php改成/blog/index.php - 多域名共用一个根目录(如
shop.example.com指向/www/wwwroot/example.com/shop/):单靠 rewrite 无法切换物理路径,必须新建独立站点,根目录直指子目录,再单独配伪静态 - 用了云厂商 WAF 或 CDN,且开启了“隐藏真实 URL”类功能:可能拦截
try_files的内部跳转,此时需在 WAF 后台放行/index.php的回源请求
真正麻烦的从来不是选哪个模板,而是没意识到「伪静态生效 = Nginx 配置加载 + PHP 路由识别 + 程序后台开关三者同时到位」。少一步,就卡在 404 里反复刷新。











