Apache支持.htaccess
今天在本地調試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試試。保存,重啟服務器再試試。
最後更新:2017-04-03 14:54:35