升级云主机后含postname的Permalink失效,寻求技术帮助
云主机升级后含postname的固定链接无法访问排查求助
问题概述
- 主机升级为云主机后,含
postname的文章链接全部无法访问 - 固定链接设置为
%category%/%postname%/格式 - 仅
https://sitename.com//%category%/格式的分类链接可正常访问 - 已尝试操作:重置固定链接配置、清理站点缓存
- 近期变更:未安装新插件,仅将主题从Colormag更换为OceanWP
排查解决方案
验证服务器URL重写配置
云主机常存在URL重写未正确配置的情况:- Apache环境:
确认网站根目录的.htaccess文件存在,且包含WordPress默认重写规则:
同时联系主机商确认已开启# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPressmod_rewrite模块,或通过cPanel的“Apache模块”自行启用。 - Nginx环境:
在站点Nginx配置文件中添加伪静态规则:
添加后执行location / { try_files $uri $uri/ /index.php?$args; }systemctl restart nginx重启服务。
- Apache环境:
排查主题兼容性问题
临时切换至WordPress默认主题(如Twenty Twenty-Four),测试含postname的链接是否恢复:- 若切换后正常,说明OceanWP主题存在链接生成逻辑异常,可检查主题设置中是否有自定义固定链接的选项,或禁用主题的相关SEO/链接优化功能后重试。
- 若切换后仍异常,排除主题问题,继续排查其他环节。
检查数据库链接一致性
备份数据库后,执行以下操作:- 打开phpMyAdmin,进入
wp_posts表,执行SQL更新guid字段(替换实际域名):UPDATE wp_posts SET guid = REPLACE(guid, 'https://旧域名', 'https://新域名'); - 检查
wp_options表中的siteurl和home字段值是否与当前站点域名完全一致,无多余斜杠或错误前缀。
- 打开phpMyAdmin,进入
清理全链路缓存
- 清空CDN缓存(若使用),确保新的重写规则同步至节点;
- 清理云主机自带的服务器缓存、站点缓存插件的所有缓存数据;
- 重启PHP服务,确保配置生效。
内容的提问来源于stack exchange,提问作者RJ DIGITAL ARENA
相关产品推荐
相关产品推荐

