打开httpd.conf文件用文本编辑器打开后,查找
代码如下 | 复制代码 |
Options FollowSymLinks AllowOverride None 改为: Options FollowSymLinks |
可是我在我的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 /> //就可以了 |
/*
如果需要使用.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个额外的文件,就算这些文件都不存在,这也是本文开始说会影响服务器的一点性能的原因。