为何Apache下.htaccess不起作用,Linux、Windows详解
可能出現(xiàn)下面這三種的錯誤可能性:
第一種:啟用 rewrite 和 .htaccess 設(shè)置
rewrite設(shè)置:找到apache的配置文件httpd.conf文件,找到:#LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的#號。
改為:LoadModule rewrite_module modules/mod_rewrite.so
.htaccess設(shè)置:
Windows里面這樣設(shè)置:AccessFileName htaccess
Linux里面這樣設(shè)置:AccessFileName .htaccess。
Linux比Windows里面文件名前面多了一個點。如果沒找到AccessFileName自己在httpd.conf文件最后面加上。
第二種:AllowOverride 的設(shè)置。
默認AllowOverride 為AllowOverride none。把這個改為:AllowOverride All。如果配置了多個虛擬目錄需在每個目錄里面開啟,實例:
<VirtualHost *:80>DocumentRoot "D:/SvnTrac/svn/SVNRepository/www/root/"
ServerName 127.0.0.1:80
DirectoryIndex index.html index.htm index.php index.shtml
<Directory "D:/SvnTrac/svn/SVNRepository/www/root/">
Options Indexes FollowSymLinks
AllowOverride ALL
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost 127.0.0.2:80>
DocumentRoot "D:/SvnTrac/svn/SVNRepository/www/"
ServerName 127.0.0.2:80
DirectoryIndex index.html index.htm index.php index.shtml
<Directory "D:/SvnTrac/svn/SVNRepository/www/">
Options Indexes FollowSymLinks
AllowOverride ALL
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
第三種:Options 的設(shè)置
默認設(shè)置是:Options Indexes FollowSymLinks
如果改成以下設(shè)置后,就會出錯
Options Indexes FollowSymLinks MultiViews Includes (出錯)
如果要啟用,目錄瀏覽 MultiViews
服務(wù)器端包含 Includes (<!–#include virtual=”top.htm” –>)
為了簡單可以設(shè)置為:Options All
前兩種是配置中常見的錯誤,第三種一般少見,最后提醒大家一下,記得配置文件改好后一定要重啟服務(wù)器啊。
?
轉(zhuǎn)載于:https://www.cnblogs.com/52php/p/5660052.html
總結(jié)
以上是生活随笔為你收集整理的为何Apache下.htaccess不起作用,Linux、Windows详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Effective JavaScrip
- 下一篇: [改善Java代码]生成子列表后不要再操