如何为旧网址重写 410 .htaccess

问题描述 投票:0回答:1

我更改了整个网站内容并从 WordPress 进入了脚本应用程序 现在我可以看到Google搜索控制台中的许多404仍然来自旧网站5个月了并且没有删除,我的一位朋友告诉我将410添加到旧网址,并再次请求索引。 这样 Google 就可以从搜索控制台中删除它们。

有 .htaccess 代码。

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
  Options -Indexes
 </IfModule> 
    RewriteEngine On
RewriteCond %{HTTP_HOST} !^website.com$
RewriteRule ^(.*)$ https://website.com/$1 [R=301,L]
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

旧的 URL 包含一堆带有 wp-content/ 的链接。获取/..下载/..下载类别..前缀和一些单个 URL。

向这些页面添加 410 标签的最佳 .htaccess 重写模式是什么?

.htaccess url http-status-code-410
1个回答
0
投票

您可以尝试下面的代码片段。另请检查此文档

说明:

  1. 重写旧网址的条件:

    • RewriteRule ^wp-content/.*$ - [R=410,L]
      :这会返回任何以
      410 Gone
      开头的 URL 的
      wp-content/
      状态。
    • get/
      download/
      download-category/
      添加了类似的规则。
  2. 具体单个网址:

    • 如果您有特定的 URL,例如
      old-page-1/
      ,请将它们添加为单独的
      RewriteRule
      指令以返回
      410
  3. 规则顺序

    • 返回
      410
      的规则放置在将请求路由到
      public/
      文件夹的规则之前。这可确保在发生任何其他路由之前返回
      410
      状态。
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -Indexes
    </IfModule>
    
    RewriteEngine On

    # Redirect non-www to www
    RewriteCond %{HTTP_HOST} !^website.com$
    RewriteRule ^(.*)$ https://website.com/$1 [R=301,L]

    # Serve existing public folder
    RewriteRule ^(.*)$ public/$1 [L]

    # Return 410 for specific old URLs
    RewriteRule ^wp-content/.*$ - [R=410,L]
    RewriteRule ^get/.*$ - [R=410,L]
    RewriteRule ^download/.*$ - [R=410,L]
    RewriteRule ^download-category/.*$ - [R=410,L]

    # Add specific single URLs to return 410
    RewriteRule ^old-page-1/$ - [R=410,L]
    RewriteRule ^old-page-2/$ - [R=410,L]

    # Authorization rule
    RewriteCond %{HTTP:Authorization} ^(.*)
    RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
</IfModule>

如果这对您有帮助,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.