【问题标题】:Apache: How to avoid domain.com/.htaccess rules to sub.domain.com that is located under domain.com DocumentRoot?Apache:如何避免对位于 domain.com DocumentRoot 下的 sub.domain.com 的 domain.com/.htaccess 规则?
【发布时间】:2011-06-22 17:33:22
【问题描述】:

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

  • domain.com DocumentRoot /domain
  • sub.domain.com DocumentRoot /domain/sub
  • 目录 /domain/.htaccess : Redirect 301 /art @987654321@
  • 目录/domain/sub下没有.htaccess

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

可能是 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>

【问题讨论】:

    标签: apache .htaccess mod-rewrite xampp virtualhost


    【解决方案1】:

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

    domain.com 的一个虚拟主机。

    一个用于 subdomain.com 的虚拟主机。

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

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

    【讨论】:

    • 我根据您的建议更新了我的问题,并记录了代码示例。不幸的是 sub.domain.com/art 仍然返回我 301 重定向到 domain.com/article/art。其他解决方案?
    • 301 被浏览器记忆,在关闭浏览器后测试(并清除缓存)。也可以通过 telnet 进行测试(如果您知道如何通过 telnet 访问 HTTP)。
    • 检查您的主 apache 配置中是否定义了任何目录选项(顺便适用于所有虚拟主机)。如果您没有任何重定向规则,请删除 .htaccess无论如何,你不应该发生重定向
    • 谢谢!如果现在运行良好,在我在 httpd.conf 中取消设置 AllowOverride All &lt;Directory /xampp/htdocs&gt; 并且我只为每个 VirtualHost 添加了一个目录,例如 &lt;Directory /domain&gt;AllowOverride All&lt;/Directory&gt;&lt;Directory /domain/sub&gt;AllowOverride All&lt;/Directory&gt;
    猜你喜欢
    • 2016-04-26
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多