2014-02-06 157 views
0

我在我的站点的根目录下面的htaccess文件目录“mydirectory中”重定向到另一个网址(以阻止谷歌索引两个站点)htaccess的重写被覆盖

RewriteCond %{HTTP_HOST} ^myurl\.co\.uk$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.myurl\.co\.uk$ 
RewriteRule ^mydirectory\/(.*)$$ "http\:\/\/www\.redirectURL\.com/" [R=301,NC] 

然后我有另一个htaccess文件在“mydirectory中”目录之上,其在处理用户友好的方式的URL,查询字符串:

RewriteRule ^Answers/(.+)$ Answers.php?articleName=$1 [QSA] 

然而,当我有重写规则^回答......我在其他的htaccess部分停止重定向在th我的网站从工作的根。

任何建议为什么^答案/ ...重写是覆盖我的重定向到www.redirectURL.com。

感谢

+0

你正在尝试哪个URL? – anubhava

+0

myurl.co.uk/MyDirectory – user2183216

回答

0

.htaccess是每个目录指令,并为它的当前目录的.htaccess首先处理任何URI路径。如果没有找到.htaccess,它会开始在目录树上向上1级,直到找到一个。它最后处理DocumentRoot/.htaccess

在你的情况下,因为你有一个/MyDirectory/.htaccess因此所有的指令都只从该文件中读取,因此覆盖了DocumentRoot/.htaccess的所有规则。

但是您可以在/MyDirectory/.htaccess

RewriteOptions inherit 

RewriteEngine On后,加入这行完成当前操作后会处理父的.htaccess。