【实战复盘】WordPress 首页正常,文章页 404?记一次 aaPanel + OpenLiteSpeed 环境下的填坑经历
在搭建 WordPress 博客的过程中,最让人崩溃的莫过于:网站首页看起来完美无缺,但点击任何一篇文章链接,却冷冰冰地跳出“404 Not Found”或“页面未找到”。
最近我在使用 aaPanel (宝塔海外版) 配合 OpenLiteSpeed (OLS) 服务端架构时就遇到了这个经典的“灵异事件”。经过排查,我顺利解决了问题,现将复盘经验分享给大家,希望能帮大家少走弯路。
一、 问题现象
- 环境: aaPanel + OpenLiteSpeed + WordPress
- 症状: 网站首页加载正常,文章列表也能显示。但点击详情页、分类目录或标签页,全部报错 404。
二、 核心原因分析
在 WordPress 中,首页和文章详情页的加载逻辑是不一样的。首页通常通过 index.php 直接读取,而文章详情页需要依赖伪静态(URL Rewrite)规则来解析美化后的链接。
在 OpenLiteSpeed 环境下,这个问题通常源于以下两点:
- 路由规则未激活: WordPress 默认的“朴素”链接(带问号的那种)不需要特殊规则,但只要你想让链接变好看(如包含日期或文章名),就需要服务器支持重写。
- OLS 的加载机制: 与 Apache 不同,OpenLiteSpeed 对
.htaccess文件的更改并不总是“即时生效”的,有时需要重新触发规则写入并重启服务。
三、 我的解决方案:重置固定链接
很多技术教程会让你去修改复杂的 Nginx 配置文件或手动编辑 .htaccess,但其实 WordPress 内部有一个“强制刷新机制”。
操作步骤:
- 登录 WordPress 后台,点击左侧菜单的 Settings(设置) -> Permalinks(固定链接)。
- 我将原本的设置更改为 “Day and name(日期和名称型)”。
- 注:你也可以根据需要选择“文章名型”,关键在于改变当前的结构。
- 点击底部的 “Save Changes(保存更改)”。
- 奇迹发生: 再次刷新前台文章页,所有链接瞬间恢复正常!
为什么这样做有效?
当你点击“保存更改”时,WordPress 会尝试重新向服务器系统声明其路由逻辑。这一步操作会自动更新网站根目录下的 .htaccess 规则,并通知 OpenLiteSpeed 重新映射 URL 请求。
四、 针对 aaPanel + OLS 的特别提醒
如果你按照上述步骤操作后依然 404,请检查以下两项(这是 OLS 环境的特殊性):
- 手动重启 OLS:
OpenLiteSpeed 有时需要手动重启才能读取新的重写规则。在 aaPanel 的 App Store 找到 OpenLiteSpeed,点击 Setting -> Restart。 - 检查 Rewrite 配置:
在 aaPanel 的网站设置中,确保 Rewrite(伪静态) 选项卡里引用了正确的路径:apacherewriteFile /www/wwwroot/你的域名/.htaccess请谨慎使用此类代码。
五、 总结与建议
对于 WordPress 新手来说,遇到 404 不要慌。“重新保存固定链接” 永远是你的第一道救命稻草。
SEO 小建议:
虽然“日期和名称型”解决了我的问题,但如果你追求极致的 SEO 权重,“文章名 (Post name)” 通常是更好的选择(链接更短、关键词更突出)。无论选哪种,记得一旦定下来就不要轻易更改,否则已发布的链接在搜索引擎里会变成死链。
如果你在维护 WordPress 过程中也遇到了类似的问题,欢迎在评论区留言交流!