Apache支持.htaccess配置方法

打开httpd.conf文件用文本编辑器打开后,查找

 代码如下 复制代码

Options FollowSymLinks
AllowOverride None

改为:

Options FollowSymLinks
AllowOverride All

可是我在我的httpd.conf文件里根本没有发现Options FollowSymLinks 之类的东西。我只好将

 代码如下 复制代码

Options FollowSymLinks
AllowOverride All

手动添加到httpd.conf文件里,然后重启Apache服务器,问题得到解决。

如果你也遇到Apache还不支持.htaccess的情况,使用我上面的这个情况不行的话,那就在httpd.conf文件里搜索LoadModule
rewrite_module modules/mod_rewrite.so,如果前面有#符号,就去掉。保存,然后重启Apache。

另一篇文章介绍

找到Apache的httpd.conf配置文件,编辑器打开。

 代码如下 复制代码

//找到
<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>

//修改为

<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>

//就可以了

/*
如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。
例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:
*/
AccessFileName .config

避免使用.htaccess文件有两个主要原因。

首先是性能。如果AllowOverride启用了.htaccess文件,则Apache需要在每个目录中查找.htaccess文件,因此,无论是否真正用到,启用.htaccess都会导致性能的下降。另外,对每一个请求,都需要读取一次.htaccess文件。

还有,Apache必须在所有上级的目录中查找.htaccess文件,以使所有有效的指令都起作用,所以,如果请求/ctusky/ctu/sky中的页面,Apache必须查找以下文件:

 代码如下 复制代码

/.htaccess
/ctusky/.htaccess
/ctusky/ctu/.htaccess
/ctusky/ctu/sky/.htaccess

一共就要访问4个额外的文件,就算这些文件都不存在,这也是本文开始说会影响服务器的一点性能的原因。

上一篇:getaddrinfo详解


下一篇:为了解决这个问题:07文本WORD文档超链接、页码成{HYPERLINK"网站"}、{PAGE}/{NUMPAGES}