为何Apache下.htaccess不起作用,Linux、Windows详解
可能出現下面這三種的錯誤可能性:
第一種:啟用 rewrite 和 .htaccess 設置
rewrite設置:找到apache的配置文件httpd.conf文件,找到:#LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的#號。
改為:LoadModule rewrite_module modules/mod_rewrite.so
.htaccess設置:
Windows里面這樣設置:AccessFileName htaccess
Linux里面這樣設置:AccessFileName .htaccess。
Linux比Windows里面文件名前面多了一個點。如果沒找到AccessFileName自己在httpd.conf文件最后面加上。
第二種:AllowOverride 的設置。
默認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 的設置
默認設置是:Options Indexes FollowSymLinks
如果改成以下設置后,就會出錯
Options Indexes FollowSymLinks MultiViews Includes (出錯)
如果要啟用,目錄瀏覽 MultiViews
服務器端包含 Includes (<!–#include virtual=”top.htm” –>)
為了簡單可以設置為:Options All
前兩種是配置中常見的錯誤,第三種一般少見,最后提醒大家一下,記得配置文件改好后一定要重啟服務器啊。
?
轉載于:https://www.cnblogs.com/52php/p/5660052.html
總結
以上是生活随笔為你收集整理的为何Apache下.htaccess不起作用,Linux、Windows详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Effective JavaScrip
- 下一篇: [改善Java代码]生成子列表后不要再操