Apache .htaccess:如何阻止除特定目录外的引用?
我想阻止域名1和域名2对网站的所有访问,除非它们特别转到Apache .htaccess:如何阻止除特定目录外的引用?,apache,.htaccess,Apache,.htaccess,我想阻止域名1和域名2对网站的所有访问,除非它们特别转到/和/media。到目前为止,我已经: RewriteCond %{HTTP_REFERER} domain1\.com [NC,OR] RewriteCond %{HTTP_REFERER} domain2\.com [NC] RewriteRule .* - [F] 除了阻止所有请求之外,它工作得非常好。我想允许来自这两个域的传入链接只能访问/和/media。到目前为止我还没有弄明白 非常感谢您的帮助。这样的事情怎么样: Rewrit
/
和/media
。到目前为止,我已经:
RewriteCond %{HTTP_REFERER} domain1\.com [NC,OR]
RewriteCond %{HTTP_REFERER} domain2\.com [NC]
RewriteRule .* - [F]
除了阻止所有请求之外,它工作得非常好。我想允许来自这两个域的传入链接只能访问/
和/media
。到目前为止我还没有弄明白
非常感谢您的帮助。这样的事情怎么样:
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]
检查语法:如何:
RewriteCond %{HTTP_REFERER} (:/|\.)(domain1|domain2)\.com [NC]
RewriteRule ^([^/]*$|media/) - [skip=1]
RewriteCond %{HTTP_REFERER} (:/|\.)(domain1|domain2)\.com [NC]
RewriteRule .* - [F]
不需要外部重定向。我在这里假设您也允许
*.domain1.com
等。对于前面的答案,我感到抱歉;我已经更新了一个(希望是)更完整的答案。你的第一个代码是正确的。Apache删除了RewriteRule中的前导斜杠。它确实可以工作,但是对于它没有阻止的dir,Apache提供的是默认的虚拟主机,而不是正确的虚拟主机!这是一个完全不同的问题,所以我将把答案标记为已接受。谢谢summea!