You need to enable JavaScript to run this app. WordPress设置自定义固定链接后页面出现双URL如何处理
优惠活动
大模型
产品
解决方案
定价
更多

WordPress设置自定义固定链接后页面出现双URL如何处理

WordPress页面存在双URL可访问的原因及解决方法

原因说明

该问题是WordPress默认路由匹配机制的特性导致:

  • 你为文章设置了/post/%postname%的固定链接前缀后,WordPress收到路径带/post/的请求时,会优先匹配对应slug的文章;如果找不到匹配的文章,路由会自动降级查询页面类型的内容,就出现了带/post/前缀的路径也能访问到对应页面的情况。
  • 这种双URL访问的场景会产生SEO重复内容问题,建议修正。

解决方法

方法1:服务器层面301重定向(最推荐,性能最优)

301为永久重定向,不会丢失SEO权重。
如果使用Nginx服务器,在站点配置文件中添加以下规则,注意替换为你自己的实际域名:

rewrite ^/post/(.*)$ https://你的实际域名/$1 permanent;

如果使用Apache服务器,在站点根目录的.htaccess文件中,将以下规则放在WordPress默认生成的规则之前:

RewriteEngine On
RewriteRule ^post/(.*)$ /$1 [L,R=301]

方法2:WordPress代码层面拦截(无需修改服务器配置)

将以下代码添加到当前主题的functions.php文件中,或者添加到自定义代码片段插件内即可生效:

add_action('template_redirect', function() {
    // 仅对页面类型的请求生效
    if (is_page() && str_starts_with($_SERVER['REQUEST_URI'], '/post/')) {
        // 直接调用WordPress接口获取页面的正确官方链接
        wp_redirect(get_permalink(), 301);
        exit;
    }
});

注:PHP版本低于8.0的话,将str_starts_with替换为strpos($_SERVER['REQUEST_URI'], '/post/') === 0即可。

方法3:插件可视化配置(无需写代码)

安装Redirection这类重定向插件,添加一条全局重定向规则:

  • 源URL匹配规则填^/post/(.*)
  • 目标URL填/$1
  • 重定向类型选择301永久重定向,保存后生效。

验证

配置完成后清空浏览器缓存,访问带/post/前缀的页面路径,确认会自动跳转到无前缀的正确路径即可。


内容的提问来源于stack exchange,提问作者Zafar Abbas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 10:15:01