我有一个unix共享主机:
/
.htaccess
a.html
....
child/
.htaccess
b.html
......
www.parent.com指向/
www.child.com指向/ child
我必须在不停止www.child.com工作的情况下阻止访问www.parent.com/child 结果可能是重定向,404或访问被拒绝 .htaccess文件基于html5boilerplate .htaccess文件。
我尝试修改/.htaccess但没有成功:
尝试#1:
<Directory /child>
Order Deny,Allow
Deny from all
</Directory>
- &GT; child.com停止了工作。
尝试#2:
RewriteCond %{HTTP_HOST} ^.*parent.com.*$ [NC]
RewriteRule ^.*/child.*$ / [NC]
- &GT;什么都没发生。我也尝试了不同的正则表达式组合。
尝试#3:
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} ^.*child.*$ [NC]
RewriteRule ^ / [R=302.L]
</IfModule>
- &GT;什么都没发生。我知道这个是蛮力,但它是在尝试了主要的不那么激进的选择之后。
我知道RewriteEngine已启用,因为它有效:
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteCond %{HTTP_HOST} !=localhost [NC]
RewriteCond %{HTTP_HOST} !=127.0.0.1
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
答案 0 :(得分:1)
您可以将此规则用作/child/.htaccess
内的第一条规则:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www\.)?child\.com$ [NC]
RewriteRule ^ - [F,L]