Apache:如何避免domain.com DocumentRoot下的sub.domain.com的domain.com/.htaccess规则?

时间:2011-02-07 12:50:09

标签: apache .htaccess mod-rewrite xampp virtualhost

如何避免domain.com DocumentRoot下的sub.domain.com的domain.com/.htaccess规则?

  • domain.com DocumentRoot /domain
  • sub.domain.com DocumentRoot /domain/sub
  • dir / domain /。htaccess:Redirect 301 /art http://domain.com/article/art
  • 没有.htaccess在目录 / domain / sub

为什么sub.domain.com/art还有301重定向到domain.com/article/art,如果只有domain.com有此规则?

是否有一些XAMPP 1.7.4错误?

更新:它也无法使用(sub.domain.com/art仍然返回301重定向到domain.com/article/art):

<VirtualHost *:80>
    DocumentRoot /domain
    ServerName domain.com
    <Directory />
        AllowOverride None
    </Directory>
    <Directory /domain>
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /domain/sub
    ServerName sub.domain.com
    <Directory />
        AllowOverride None
    </Directory>
    <Directory /domain/sub>
    </Directory>
</VirtualHost>

1 个答案:

答案 0 :(得分:0)

一种方法是避免使用.htaccess并使用虚拟主机。

domain.com的一个VirtualHost。

subdomain.com的一个VirtualHost。

在每个VirtualHost中,您可以为第一个定义<Directory /><Directory /domain>,为第二个定义<Directory /><Directory /domain/sub>。然后删除所有.htaccess或在<Directory />中使用 AllowOverride None (效果相同)。当他不必在所有父目录中检查.htaccess是否存在时,你也会看到apache更快。

所有目录说明可以包含与您在.htaccess中通常使用的内容完全相同的内容。当你不希望他编辑apache配置文件时,.htaccess是一种让别人定义一些目录指令的方法;但.htaccess文件与目录树继承有关。