【问题标题】:Including .htaccess in apache2.conf with 'AllowOverride None' slows down Apache?在 apache2.conf 中包含 .htaccess 并带有“AllowOverride None”会减慢 Apache?
【发布时间】:2014-08-05 13:30:30
【问题描述】:

如果您有权访问主服务器配置文件(通常称为httpd.conf),则应将.htaccess 文件中的逻辑添加到主配置文件中的<Directory> 部分中。这通常是推荐的方式,因为使用 .htaccess 文件会降低 Apache 的速度! (Source)

我认为这基本上意味着,如果可能的话,我应该在 /etc/apache2/apache2.conf 中使用 Include httpd.confAllowOverride None 指令。

但除了语义(或其他),为什么我不能简单地包含 .htaccess 本身?为了我的方便,我这样做......

文件: /etc/apache2/apache2.conf

#
# [... ORIGINAL CONTENTS OF APACHE2.CONF ...]
#


<Directory /var/www/example.com/public>
    DirectoryIndex index.php index.html
    AllowOverride None
    Include /var/www/example.com/public/.htaccess
</Directory>

使用apache2.conf 中包含的.htaccess 文件和AllowOverride None 指令,我可以在/var/www/example.com/public/.htaccess 中简单地添加我网站的所有重写规则。

如果需要为另一个子目录使用另一个 .htaccess 文件,我只需在 apache2.conf 中为新的 .htaccess 文件添加另一个 Include,就像我现在做的那样。

我的问题是,这是否与使用 httpd.conf 一样高效? (我相信I was told otherwise here,这就是我问的原因。)如果不是,为什么不呢?


我更喜欢使用 .htaccess 的原因: 我的服务器运行 WordPress,并且我使用的一些 WordPress 插件(SEO、缓存等)在 .htaccess 文件中添加了重写规则。通过使用 .htaccess,我不必自己手动执行此操作,并且可以简单地让插件完成它们的工作。

【问题讨论】:

    标签: performance apache .htaccess apache2 httpd.conf


    【解决方案1】:

    是的,它与直接放在 httpd.conf 中的运行时性能相同。操作部分是在启动时解析它,而不是在将请求映射到文件系统并检查 htaccess 并每次解释它时。

    【讨论】:

      猜你喜欢
      • 2015-12-31
      • 1970-01-01
      • 2018-06-22
      • 1970-01-01
      • 2015-09-12
      • 2013-06-15
      • 2015-03-03
      • 1970-01-01
      • 2013-07-09
      相关资源
      最近更新 更多