爱就疯狂,不爱就坚强。
« »
2009年07月18日慢摇心情

WIN平台下的Apache的伪静态问题

通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成不允许任何Override ,即
< Directory />
AllowOverride None
< /Directory>

在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 “.htaccess” 作用域的指令都允许出现在 .htaccess 文件中。

而对于 URL rewrite 来说,至少需要把目录设置为
< Directory /myblogroot/>
AllowOverride FileInfo
< /Directory>
以前一直对Apache当中的性能优化没有概念,通常都是从MySQL, PHP的优化,缓存等方面去考虑。今天下午,因为要在目录当中做url rewrite,将根目录的 AllowOverride 设置从None设置为了All,发现整个网站的响应速度慢了几倍(一点不夸张!),当时琢磨了一下,以为是主机提供商的主机资源分配言过其实并没有达到其宣称的数量。带着这个疑问,就出去买包子了,买包子的路上忽然有个念头涌上心头,记得有个印象是AllowOverride会影响系统的性能的,刚才自己是修改了这个AllowOverride,会不会是因为这个原因呢?

回来,吃完包子,把根目录的AllowOverride All修改成了特定目录的配置,从

AllowOverride All

修改成了

AllowOverride FileInfo Options

发现整个网站的响应速度确实有很大提升。

查询了一下Apache2.2文档中,AllowOverride设置为All时,会由当前访问文件向上一直寻找到根目录,依次寻找.htaccess文件,这样对性能的影响确实会比较大,特别是对于WordPress这样所有的访问都会经过url rewrite的系统。

要对虚拟目录实现url重写,只需在虚拟机的配置中加入如下内容

#AllowOverride FileInfo Options
AllowOverride FileInfo Options

.htaccess文件是针对目录的,对不同目录可以有不同的重写规则

日志信息 »

该日志于2009-07-18 00:39由 阳兄 发表在慢摇心情分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

相关日志 »

  • 暂无相关日志

没有评论

发表评论 »


返回顶部