使用带有条件的htaccess阻止访问URL

时间:2014-07-15 07:58:50

标签: regex apache .htaccess mod-rewrite redirect

我有一个网址:

https://abc.sitetest.com/images/abc/img.jpg

我们从url读取子域名abc。使用htaccess,我们只允许用户查看abc及其子文件夹。因此,如果有/images/cde/...文件夹,则无法查看或阅读其中的任何文件(而非图片)。

可能是这样,但我不确定它的方式......

<Limit GET>
order deny,allow
deny from all
allow from abc.sitetest.com
</Limit>

1 个答案:

答案 0 :(得分:1)

将此基于后向参考的规则放在根目录中.htaccess:

RewriteEngine On

RewriteCond %{HTTP_HOST}:%{REQUEST_URI} ^([^.]+)\.[^:]+:(?!.*?/\1/).* [NC]
RewriteRule ^ - [F]

这将允许:

https://abc.sitetest.com/images/abc/img.jpg
https://abc.sitetest.com/anything/abc/foo

但会阻止:

https://abc.sitetest.com/images/xyz/img.jpg
https://abc.sitetest.com/def/img.jpg