【发布时间】:2016-02-26 03:03:09
【问题描述】:
我正在尝试在 htaccess 文件中设置一些规则,以打击指向我们网站的一些垃圾邮件传入链接。例如,一些垃圾邮件网站通过以下方式链接到我们的网站:
//www.oursite.com/buy-cheap-medication/
//www.oursite.com/get-medication-now/
//www.oursite.com/buy-medication-online/
等等。等等。这些传入链接由我们的服务器生成 404 状态,因为这些 URL 实际上并不存在并显示自定义 404 页面。我可以为每个错误的传入链接创建单独的规则,但是有成千上万的规则!您会注意到每个垃圾链接都包含“药物”一词。
是否可以将基于正则表达式的规则添加到 htaccess 文件中,以监视任何包含“药物”一词的 URL 并为其分配 410 状态?如有必要,我可以使用以下方法创建 410 页面:
ErrorDocument 410 /410.php
基于正则表达式的规则会将包含匹配词的 URL 转发到此自定义页面,状态为 410。我不确定确切的语法,但这是我迄今为止尝试过的:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^medication$ [L,R=410]
ErrorDocument 410 /410.php
【问题讨论】: