今天給朋友開了一個站需要支持偽靜態,當時我想直接在服務器中給加了算了,結果加進入 支不行,因為他的配置文件就是.htaccess偽靜態規則,放在apache 的配置文件中不行,后來百度了解決辦法。
1、首先確定Apache是否加載了Mod_rewrite 模塊
方法: 檢查 httpd.conf 中是否存在以下兩段代碼 (具體路徑可能會有所不同,但形式基本是一樣的):
(一)LoadModule rewrite_module libexec/mod_rewrite.so
(二)AddModule mod_rewrite.c
2、檢查Apache是否開啟.htaccess支持
httpd.conf
AllowOverride All #如果后面參數為None需要修改為All
編輯apache的httpd.conf
- <Directory />
- Options FollowSymLinks
- AllowOverride All
- </Directory>
- <Directory "目錄">
- #
- # Possible values for the Options directive are "None", "All",
- # or any combination of:
- # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
- #
- # Note that "MultiViews" must be named *explicitly* --- "Options All"
- # doesn't give it to you.
- #
- # The Options directive is both complicated and important. Please see
- # for more information.
- #
- Options Indexes FollowSymLinks
- #
- # AllowOverride controls what directives may be placed in .htaccess files.
- # It can be "All", "None", or any combination of the keywords:
- # Options FileInfo AuthConfig Limit
- #
- AllowOverride All
- #
- # Controls who can get stuff from this server.
- #
- Order allow,deny
- Allow from all
- </Directory>
3、在文件httpd.conf相應的主機目錄配置中加入如下代碼(此時須注意,如果網站是通過虛擬主機來定義,請務必加到虛擬主機配置中去,否則可能無法使用。)
注意事項:我當時也只把AllowOverride none改成了all但是沒有效果,后來直接查了了httpd.conf文件中所有AllowOverride none替換成AllowOverride All再重啟apache就可以使用htaccess了。
新聞熱點
疑難解答