是否可以在应用程序目录中放置一些内容,以便在服务器级别拒绝某些请求,并且根本不到达应用程序(在我的情况下是Drupal),并且不要使用应用程序日志垃圾邮件“找不到页面”?
我认为htaccess对“禁止”文件的请求会被服务器拒绝而不会被进一步处理,但它们不是。
示例:
假设我自己的网站域名是example.com。 htaccess有以下几行(这是一个简化的设置,以防止热链接jpg图像):
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://([-a-z0-9]+\.)?example\.com [NC]
RewriteRule \.(jpg)$ - [F,NC,L]
它可以工作,例如,如果我转到http://altlab.com/hotlinking.html并从我的example.com网站上放置一个现有的jpg地址,它就说无法显示图像。所以它被阻止了,好的。但上述请求也反映在Watchdog(Drupal的内部日志)中,这是不行的。
是否有一种方法可以拒绝Apache服务器从外部域获取jpg文件的请求,而不是将这些请求进一步传递给应用程序?
答案 0 :(得分:0)
您需要使用4XX状态代码重定向。
RewriteRule ... [...,R=400]