Typecho 首页静态化后搜索 405 Not Allowed 完整解决方案教程

一、问题说明

前一篇文章为优化网站加载速度,给 Typecho 站点开启首页静态化,生成 index.html 静态页面,并将静态文档优先级调至首位后,网站搜索功能出现异常:提交搜索表单直接报错 405 Not Allowed,无法正常检索内容。

产生该问题的主要原因是:静态 HTML 文件仅支持 GET 访问,不接收 POST 表单请求。Typecho 搜索功能依赖 POST 提交动态请求,网站默认优先加载 index.html 静态页,动态搜索请求无法转发至 index.php 程序入口,最终触发 405 请求不允许而报错。

二、解决方案

通过 Nginx 规则区分动静请求:普通首页访问走静态页面加速,搜索 POST 请求、带搜索参数请求强制转发动态 PHP 入口,兼顾静态加速效果与搜索功能正常使用。

三、操作步骤

  1. 进入宝塔面板,打开对应网站配置文件,找到站点 server 配置块;
  2. 在 server{} 内部空白处,添加以下合规 Nginx 规则(无语法报错、兼容所有 Nginx 版本);
  3. 保存配置,检测语法并重载 Nginx 即可生效。

适配代码

生效命令

1.非宝塔面板需在服务器执行命令

nginx -t
nginx -s reload

2.宝塔面板如图

Typecho 首页静态化后搜索 405 Not Allowed 完整解决方案教程

四、运行逻辑说明

  1. 普通用户直接访问网站首页(无参数 GET 请求):正常加载 index.html 静态页面,保留首页加速效果;
  2. 提交搜索表单、URL 携带 ?s= 搜索参数:自动绕过静态页面,转发至 index.php 动态程序处理,完美适配 Typecho 搜索逻辑,彻底解决 405 报错。
👶佐佐佑佑小站 · 版权声明

本站内内容,若无额外特殊标注,均为本站原创整理创作。
若本站内容无意侵犯他人著作合法权益,原著作者可随时联系站长,我们将快速核实、及时下架整改。
未经本站许可,任何个人、自媒体、网站及团体,严禁私自复制、爬虫采集、篡改搬运、商用刊发至各类网络平台、纸质读物等渠道。

给TA打赏
共{{data.count}}人
人已打赏
👨‍💻奇技淫巧

Typecho生成首页静态HTML数倍提高网站打开速度

2026-7-27 16:14:25

👨‍💻奇技淫巧

win10系统电脑如何将时间显示到秒

2026-8-10 11:59:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索