You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为WordPress迁移后的旧URL编写410状态码的.htaccess规则?

为旧WordPress URL添加410 Gone状态码的.htaccess规则

这些410重写规则需要放在RewriteEngine On之后、域名301重定向规则之前,保证优先级高于其他重写逻辑,这样旧URL会先被匹配返回410状态码。

批量匹配前缀URL的规则

针对带wp-content/、Get/、Download/、Download-category/前缀的旧URL,添加以下规则:

# 匹配旧WordPress前缀URL,返回410 Gone
RewriteRule ^wp-content/ - [R=410,L]
RewriteRule ^Get/ - [R=410,L]
RewriteRule ^Download/ - [R=410,L]
RewriteRule ^Download-category/ - [R=410,L]

单个URL的规则

如果有单独的旧URL需要返回410,按需添加类似规则(替换示例中的URL路径):

# 匹配单个旧URL,返回410 Gone
RewriteRule ^old-post-slug/$ - [R=410,L]
RewriteRule ^another-old-page.html$ - [R=410,L]

修改后的完整.htaccess代码

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -Indexes
    </IfModule> 
    RewriteEngine On

    # 旧WordPress URL返回410 Gone
    RewriteRule ^wp-content/ - [R=410,L]
    RewriteRule ^Get/ - [R=410,L]
    RewriteRule ^Download/ - [R=410,L]
    RewriteRule ^Download-category/ - [R=410,L]
    # 单个旧URL示例(按需取消注释并修改)
    # RewriteRule ^old-post-slug/$ - [R=410,L]

    # 域名301重定向
    RewriteCond %{HTTP_HOST} !^website.com$
    RewriteRule ^(.*)$ https://website.com/$1 [R=301,L]

    # 指向public目录
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

补充说明

  • [R=410,L]中的R=410指定返回410 Gone状态码,L表示停止执行后续重写规则,避免冲突。
  • 规则生效后,登录Google搜索控制台,用URL检查工具针对这些旧URL提交重新索引请求,加快Google清理搜索结果中的无效条目。
  • 添加规则前建议先测试,确保不会影响现有正常访问的URL。

内容的提问来源于stack exchange,提问作者igrafix TM

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 09:57:25