來源:http://www.ido321.com/1123.html
今天get了一招:利用.htaccess文件對PHP網站或文件進行偽靜態處理。
一、檢查服務器是否支持偽靜態處理:
必 須要空間支持 Rewrite 以及對站點目錄中有 .htaccess 的文件解析,才有效.找到apache安裝目錄下的httpd.cof文件,去掉LoadModule rewrite_module modules/mod_rewrite.so前面的#(大概在154行,我的默認是開啟)
二、在httpd.cof中查找以下部分:
<Directory /> Options FollowSymLinks AllowOverride None </Directory>
改為:
<Directory /> Options FollowSymLinks AllowOverride All </Directory>
如果沒有,手動添加。(PS:LZ試過,在最近的新版本的Apache上即使沒有這個,.htaccess照樣生效。但是不同服務器及版本的原因,建議加上)
三、重啟apache服務器,添加.htaccess文件
建立.htaccess文件的方式:
1、保存文件的時候將文檔保存成名為“***.txt”,再將其上傳到服務器上,之後直接使用FTP軟件來重命名為“.htaccess”。(適合windows)
2、保存文件的時候選擇文件—>另存為,保存類型選所有文件,然後文件名輸入.htaccess 。(適合windows)
3、直接在你的Unix或Linux虛擬主機上建立。
4、先用記事本編寫好,隨便保存為一個什麼文件名,然後打開“命令提示符”(CMD),然後再用重命名命令(rename),例如:rename c:\htaccess.txt .htaccess
請注意: .htaccess必須,保存為ANSI 格式,以ASCII模式上傳,最好將其權限設置為644。
一般我們將.htaccess文件放置在網站的根目錄,控制所在目錄及所有子目錄,當然也可以放在網站的任何一個子目錄下,但如果放置在子目錄中,子目錄中的指令會覆蓋更高級目錄或者主服務器配置文件中的指令。
在博客收錄集(http://www.ido321.com/1112.html)為例,本地.htaccess文件如下:
#rewriteengine為重寫引擎開關on為開啟off為關閉 RewriteEngine On RewriteRule ^index\.html$ index.php RewriteRule ^webmore\.html$ webmore.php以index.html代替index.php webmore.html代替webmore.php。 .htaccess支持正則表達式,例如:
原始 news/detail.php?id=2 偽靜態 news/detail_2.html
RewriteRule ^news/detail_([0-9]{1,})\.html$ news/detail.php?id=$1
下一篇:雜談:HTML 5頁面可視性API