現在大多數站長都是空間,為了讓空間用戶也可以使用為靜態,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個額外的文件,就算這些文件都不存在,這也是本文開始說會影響服務器的一點性能的原因。
|
新聞熱點
疑難解答