正确设置重定向 410(消失)

Properly set redirect 410 (Gone)

我的一个网站被黑客入侵了。在我清理它之后,google 中有很多虚假的垃圾邮件 URL。现在我正在尝试将它们设置为 410 Gone 并将它们也从 Google Search Console 中删除。

我尝试在 .htaccess 中添加但没有显示 410 的内容显示 404.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]



RewriteRule ^https://example.com/156224863/scojgmwtdxy-7/cv.def - [L,NC,G]                                                                                  

</IfModule>

如果我添加这个

RewriteRule !^index\.html$  https://example.com/156224863/scojgmwtdxy-7/cv.def   [L,R=410]

它正在重定向所有内容。甚至我不想的根域 https://example.com/

我在这里想念什么?

我相信你应该把这样的东西放在你的 .htacess 文件中。请确保在测试 URL 之前清除浏览器缓存。确保像 \. 一样转义 HTTP_HOST(域名).,以便正则表达式引擎将其视为文字字符。

RewriteEngine ON
RewriteCond %{HTTP_HOST} example\.com [NC]
RewriteRule ^156224863/scojgmwtdxy-7/cv\.def/?$ - [R=410,L]

编辑: 根据 OP 的评论,所有内容都需要重定向到 401 除了 base/root url 然后可以尝试以下。

RewriteEngine ON
RewriteCond %{REQUEST_URI} !^/?$
RewriteRule ^(.*) - [R=410,L]