Apache支持.htaccess

简介: 今天在本地调试Discuz 6 .1 .0的时候,发现URL没法进行伪静态。我以为是.htaccess没设置对,反复修改还是不行。我突然想到,是不是我的apache本来就不支持.htaccess呢。于是我搜索起来。 有网站介绍说:打开httpd.conf文件用文本编辑器打开后,查找 <Directory /> Options FollowSymLinks Allow

今天在本地调试Discuz 6 .1 .0的时候,发现URL没法进行伪静态。我以为是.htaccess没设置对,反复修改还是不行。我突然想到,是不是我的apache本来就不支持.htaccess呢。于是我搜索起来。
有网站介绍说:打开httpd.conf文件用文本编辑器打开后,查找
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

改为:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

可是我在我的httpd.conf文件里根本没有发现Options FollowSymLinks 之类的东西。我只好将
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
手动添加到httpd.conf文件里,然后重启Apache服务器,问题得到解决。

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

首先去掉LoadModule rewrite_module modules/mod_rewrite.so前面的注释符号#,然后把所有的AllowOverride None都改成AllowOverride All才行。实际上,我在调试的时候并没有把所有的AllowOverride None都改成AllowOverride All,如果我全部修改了反而还出错。可能情况有所不同吧。

【总结】当你的Apache不支持.htaccess时,解决方法如下:
一,在你的Apache安装文件夹conf里找到httpd.conf文件。这个文件相当重要,而且经常使用。配置Apache服务器是必须搞懂的。
二,搜索LoadModule rewrite_module modules/mod_rewrite.so 如果前面有注释符号#,请去掉。
三,搜索Options FollowSymLinks,然后将它下面的AllowOverride None 修改为AllowOverride All;如果没有搜索到,那就手动在httpd.conf里添加<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

四,保存。重启apache服务器。记得,一定要重启。很多时候我们设置后,马上刷新网页,并没有效果,是因为没有重启服务器。这个很容易忽略,也是我们粗心的地方。

五,如果你还不行,那就将httpd.conf文件里的所有AllowOverride None都改成AllowOverride All试试。保存,重启服务器再试试。

目录
相关文章
|
Apache
Apache配置文件httpd.conf/htaccess中deny和allow的使用
Apache配置文件httpd.conf/htaccess中deny和allow的使用
182 0
|
Apache Windows
Apache下htaccess文件不起作用/rewrite 没有效果
Apache下htaccess文件不起作用/rewrite 没有效果
325 0
|
安全 Apache 数据安全/隐私保护
|
JavaScript Apache PHP
Apache的.htaccess利用技巧
Apache的.htaccess利用技巧
252 0
|
Apache
apache 设置.htaccess 禁止ip访问
网站遭受攻击,拦截ip访问
303 0
|
Web App开发 Apache 数据安全/隐私保护

推荐镜像

更多