现在大多数站长都是空间,为了让空间用户也可以使用为静态,301,404这类的东西,我们只要把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个额外的文件,就算这些文件都不存在,这也是本文开始说会影响服务器的一点性能的原因。 |