【问题标题】:Apache mod_rewrite rules not being processed from .htaccess files未从 .htaccess 文件处理 Apache mod_rewrite 规则
【发布时间】:2011-02-27 06:38:48
【问题描述】:

谁能帮助解决apache2中的覆盖问题?

我在 apache2 中启用了 mod_rewrite。

但是 apache 只是忽略了我的 .htaccess 文件的重写规则。

这是我的虚拟主机配置:

<VirtualHost *:80>
    ServerName www.modomain.eu
    ServerAlias mydomain.eu *.mydomain.eu mydomain.es *.mydomain.es
    DocumentRoot /home/sites/mydomain.es

    <Directory /home/sites/mydomain.es>
        AllowOverride None
    </Directory>
</VirtualHost> 

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    如果您将 AllowOverride 设置为“none”,则不会处理.htaccess 文件。如果您将其设置为“allowoverride all”,它应该允许您覆盖 vhost 配置文件中的设置。

    【讨论】:

      【解决方案2】:

      阅读here 例如:

      默认情况下,来自主服务器上下文的 mod_rewrite 配置设置不会被虚拟主机继承。要将主服务器设置应用于虚拟主机,您必须在每个部分中放置以下指令:
      重写引擎开启 RewriteOptions 继承

      【讨论】:

      • 主配置中不需要RewriteEngine On。这可以直接在 .htaccess 中完成。在上面的示例中,AllowOverride 设置为 none。除非打开此选项,否则您将无法处理 .htaccess 文件。
      • @shreddd 好的;然后你可能需要我写的东西(如果你错过了细节,那就是文档)
      • 老兄.. 你真棒.. 眼泪.. :P
      【解决方案3】:

      设置如下:

      AllowOverride All
      

      &lt;Directory&gt; 节中

      这将允许 .htaccess 文件能够覆盖各种设置(例如重写规则)

      【讨论】:

        猜你喜欢
        • 2012-05-07
        • 1970-01-01
        • 2011-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-15
        相关资源
        最近更新 更多