.htaccess:如何阻止引用除特定目录外?

时间:2012-01-26 18:25:07

标签: apache .htaccess

我想阻止从domain1和domain2访问网站,除非他们专门访问//media。到目前为止,我有:

RewriteCond %{HTTP_REFERER} domain1\.com [NC,OR]
RewriteCond %{HTTP_REFERER} domain2\.com [NC]
RewriteRule .* - [F]

除了阻止所有请求之外,它的工作原理完美。我希望允许来自这两个域的传入链接只能访问//media 。到目前为止,我还没弄清楚。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

这样的事情:

RewriteCond %{HTTP_REFERER} domain1\.com [NC,OR]
RewriteCond %{HTTP_REFERER} domain2\.com [NC]
RewriteCond %{REQUEST_URI} !media [NC,OR]
RewriteCond %{REQUEST_URI} !^$ [NC]
RewriteRule (.*)$ $1 [R,L]
RewriteRule .* - [F]

检查语法:http://www.lyxx.com/freestuff/002.html

答案 1 :(得分:0)

怎么样:

RewriteCond %{HTTP_REFERER} (:/|\.)(domain1|domain2)\.com [NC]
RewriteRule ^([^/]*$|media/)       -                      [skip=1] 

RewriteCond %{HTTP_REFERER} (:/|\.)(domain1|domain2)\.com [NC]
RewriteRule .*                     -                      [F]

不需要外部重定向。我在这里假设你也允许*.domain1.com等。