.htaccess文件不能僞靜態化的解決方法

第一種:啓用 rewrite 和 .htaccess 設置php

rewrite設置:找到apache的配置文件httpd.conf文件,找到:#LoadModule rewrite_module modules/mod_rewrite.so去掉前面的#號。html

改成:LoadModule rewrite_module modules/mod_rewrite.solinux

.htaccess設置apache

windows裏面這樣設置:AccessFileName htaccesswindows

linux裏面這樣設置:AccessFileName .htaccess。服務器

linux比windows裏面文件名前面多了一個點。若是沒找到AccessFileName本身在httpd.conf文件最後面加上。ide

 

第二種:AllowOverride 的設置。svn

默認AllowOverride 爲AllowOverride none。把這個改成:AllowOverride All。若是配置了多個虛擬目錄需在每一個目錄裏面開啓,實例:htm

<VirtualHost *:80>
DocumentRoot 「D:SvnTracsvnSVNRepositorywwwroot」
ServerName 127.0.0.1:80it

DirectoryIndex index.html index.htm index.php index.shtml
<Directory 「D:SvnTracsvnSVNRepositorywwwroot」>
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

前兩種是配置中常見的錯誤,第三種通常少見,最後提醒你們一下,記得配置文件改好後必定要重啓服務器啊。有問題,留言,或收聽微薄。

本人試過以上方都不行,最後發現原來是重寫規則前面多加了個斜槓

RewriteEngine on

RewriteRule ^index.html$ /index.php [L]

改爲下面的就ok了

RewriteEngine on

RewriteRule ^index.html$ index.php [L]

相關文章
相關標籤/搜索