如果您有权访问主服务器配置文件(通常称为
httpd.conf
),则应添加.htaccess
文件中的逻辑,例如,<Directory>
部分中的.htaccess
部分。主配置文件。这通常是推荐的方式,因为使用Include httpd.conf
文件会降低Apache的速度! (Source)
我认为这基本上意味着,如果可能的话,我应该AllowOverride None
以及/etc/apache2/apache2.conf
中的.htaccess
指令。
但除了语义(或其他)之外,为什么我只能简单地包含#
# [... 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>
?为了方便起见,我这样做......
文件: /etc/apache2/apache2.conf
.htaccess
如果apache2.conf
中包含AllowOverride None
文件,并且/var/www/example.com/public/.htaccess
指令已到位,我只需在Include
中添加我所有网站的重写规则即可。
如果需要将另一个.htaccess文件用于另一个子目录,我只需按照我现在的方式为.htaccess
中的新apache2.conf
文件添加另一个httpd.conf
。
我的问题是,这是否与使用{{1}}一样高效? (我相信I was told otherwise here,这就是我要问的原因。)如果没有,为什么不呢?
我更喜欢使用.htaccess的原因:我的服务器运行WordPress,我使用的一些WordPress插件(SEO,缓存等)在.htaccess文件中添加重写规则。通过使用.htaccess,我不必亲自手动完成此操作,只需让插件完成工作即可。
答案 0 :(得分:2)
是的,它与将其直接放在httpd.conf中的运行时性能相同。操作部分是它在启动时解析,而不是在将请求映射到文件系统并检查htaccess并每次解释它时。