处理%{HTTP_HOST}时的.htaccess(mod_rewrite)递归

时间:2011-10-05 22:03:04

标签: apache .htaccess mod-rewrite

我的目标是使用.htaccess中的mod_rewrite模拟虚拟主机,使http://dog.animal.com内部映射到WEBROOT / public_html / dog /,cat.animal.com内部映射到WEBROOT / public_html / cat /,其中dog和cat是系统上建立的用户名。

我(在WEBROOT的.htaccess中):

RewriteCond   %{HTTP_HOST}                 ^[^.]+\.animal\.com$
RewriteRule   ^(.+)                        %{HTTP_HOST}$1          [C]
RewriteRule   ^([^.]+)\.animal\.com(.*) /public_html/$1$2

但在请求dog.animal.com时,我收到以下循环

  

禁止。您无权访问   /的public_html / dogpublic_html / dogpublic_html / dogpublic_html / dogpublic_html / .....   等等

显然,我忽略了一些明显的东西。我很感激任何指针!

(我应该说在上面的例子中,两个子域的区域文件中有A条记录)

1 个答案:

答案 0 :(得分:0)

在第二次重写规则中,使用引用root的/ public_html。尝试使用WEBROOT删除开始/或放置完整路径