.htaccess中的负HTTP_HOST匹配

时间:2017-03-03 11:40:14

标签: apache .htaccess mod-rewrite

我试图拒绝访问某个文件夹,除非它位于两个特定的子域中。有点时间让它工作。这是我正在尝试的,有效:

RewriteCond %{HTTP_HOST} !^allowed.subdomain.com$
RewriteRule ^(hidden) - [F,L]

当我添加第二个子域时,它无法工作:

RewriteCond %{HTTP_HOST} !^allowed.subdomain.com$ [OR]
RewriteCond %{HTTP_HOST} !^secondallowed.subdomain.com$
RewriteRule ^(hidden) - [F,L]

所有域名都禁止hidden文件夹,allowed.subdomain.comsecondallowed.subdomain.com

除外

2 个答案:

答案 0 :(得分:1)

尝试以下规则我假设subdomain.com对于两个子域都相同,

RewriteCond %{HTTP_HOST} !^(allowed|secondallowed).subdomain.com$
RewriteRule ^(hidden) - [F,L]

答案 1 :(得分:0)

RewriteCond %{HTTP_HOST} !^allowed.subdomain.com$
RewriteCond %{HTTP_HOST} !^secondallowed.subdomain.com$
RewriteRule ^(hidden) - [F,L]

这似乎有效,如果有人想提供一个更好的解释[OR]运算符如何在这里工作而不是删除它,我会接受这个答案:)