为垃圾邮件机器人制作特定的url响应404错误而不是200

问题描述:

当垃圾邮件机器人尝试访问它时,如何让我的网站的特定url(index.php?act = add)返回404错误而不是200?
我不是PHP程序员,所以可能会以某种方式完成与.htaccess文件中的derectives?为垃圾邮件机器人制作特定的url响应404错误而不是200

++++

谢谢你的答案,但没有帮助(
我需要财产以后像.htaccess文件该规则:

<Files "index.php"> 
Order Deny,Allow 
Deny from all 
</Files> 

但不是index.php来使用 “的index.php?act =被添加”。

+++ 现在它的工作。谢谢!!!

+4

可选择测试为[ 'evil bit'](https://tools.ietf.org/html/rfc3514)。 'RewriteCond%{HTTP:X-I-Am-Evil} = 1; RewriteRule -/404' – arnaud576875

if ($_GET['act'] == 'add') { 
    if (condition to check spambot/useragent/ipaddress/cookie) { 

     header("HTTP/1.0 404 Not Found"); 
     exit; 

    } else { 

     // 
     // 
     // your code for 'REAL' users 

    } 
} 
+0

如果没有设置'$ _GET ['act']',代码就会崩溃(取决于您的错误设置)。 – TRiG

+1

我的回答不是OP项目的解决方案。这只是一个代码应该放置的演示。我的代码甚至可能不会在index.php中取决于他的来源! –

+0

此字符串有助于:header(“HTTP/1.0 404 Not Found”); 谢谢你的快速回复! –

您可以使用PHP使用PHP(文件的index.php)报头

<?php 
header("HTTP/1.0 404 Not Found"); 
?> 

,或者使用htaccess的

可以使用header() function,例如

if ($_GET["act"] == "add"){  
    header("HTTP/1.0 404 Not Found"); 
}