410用于特定的不存在的子文件夹

时间:2018-01-09 10:23:15

标签: apache .htaccess mod-rewrite url-rewriting

在Google网站站长工具中,我收到了很多拥有404的“奇怪”网址。 我不知道他们来自哪里。 它们总是有从未存在过的子文件夹,也可能永远不会存在。 以下是一些例子:

  

https://example.com/ {...} / plus.google.com/facebook.com/password-reset.hmlt/register.html   https://example.com/ {...} / plus.google.com/facebook.com/facebook.com/password-reset.hmlt   https://example.com/ {...} / plus.google.com/facebook.com/password-reset.hmlt/plus.google.com   https://example.com/ {...} / register.html / facebook.com /密码reset.hmlt / register.html   https://example.com/ {...} /密码reset.hmlt / register.html / plus.google.com /密码reset.hmlt

     

...

它似乎是这些子文件夹的随机组合。 如何利用htaccess文件为这些网址生成410?

1 个答案:

答案 0 :(得分:1)

阻止url是否包含任何字符串:

RewriteEngine On
RewriteCond %{REQUEST_URI} password-reset|register.html|plus.google.com
RewriteRule ^ - [R=410]

如果网址包含facebook.com and (plus.google.com or password-reset.hmlt)

,请阻止
RewriteEngine On
RewriteCond %{REQUEST_URI} facebook.com
RewriteCond %{REQUEST_URI} plus.google.com [OR]
RewriteCond %{REQUEST_URI} password-reset.html
RewriteRule ^ - [R=410]

[OR]的优先级高于(隐式)[AND]