偽靜態(tài)規(guī)則的教程,要么是不能用,要么是不符合實(shí)際,甚至有些偽靜態(tài)規(guī)則語法錯(cuò)誤!
總的來說,說偽靜態(tài)規(guī)則主要分為三種版本:①httpd.ini ②.htaccess ③ URL Rewrite Module
要寫偽靜態(tài)規(guī)則,要先看你的運(yùn)行環(huán)境,不同環(huán)境要用不同的版本偽靜態(tài)規(guī)則。
1.“ 文章信息頁面?zhèn)戊o態(tài)規(guī)則“填寫上: /book/<{$id}>.html
(有人問: /shu/<{$id}>.html 或者 /xs/<{$id}> 這樣的寫法行不行,嗯,你很聰明,這都被你想到了!其實(shí)這里的寫法可以靈活變動的,對偽靜態(tài)規(guī)則作下相應(yīng)的修改就行了)
我們先存下這個(gè)設(shè)置,你就會發(fā)現(xiàn)杰奇原來的動態(tài)信息頁,如abc.com/modules/article/articleinfo.php?id=1 就會變成abc.com/book/1.html這樣的靜態(tài)了!點(diǎn)一下,可惜啊,還不能訪問。因?yàn)槲覀冎皇窃O(shè)置了后臺,還得要用對應(yīng)的杰奇?zhèn)戊o態(tài)規(guī)則才能實(shí)現(xiàn)訪問哦。
2. “文章分類頁面?zhèn)戊o態(tài)規(guī)則”填寫上: /list/<{$class}>_<{$page}>.html
如同上面說的,你也可以改成如 /fenlei/<{$class}>_<{$page}>.html 這一類的,或者/fenlei_<{$class}>_<{$page}>.html 這樣的都可以。
設(shè)置保存看一下,如果原來的分類是動態(tài)的的,杰奇的分類url,還是動態(tài)的url,并不會變動。這個(gè)就需要我們?nèi)ジ膭幽0辶,具體方法我就不在這里說了。
3. “排行榜頁面?zhèn)戊o態(tài)規(guī)則”這里填寫上: /top/<{$sort}>_<{$page}>.html
這個(gè)設(shè)置保存了之后,你就會發(fā)現(xiàn)什么月排行版,周排行榜的url全變成靜態(tài)的了,但是如同信息頁,我們點(diǎn)擊是無法打開的,需要對應(yīng)的杰奇?zhèn)戊o態(tài)規(guī)則。
下面是具體的規(guī)則跟適應(yīng)環(huán)境
(1) httpd.ini 版本偽靜態(tài)規(guī)則(運(yùn)行環(huán)境是IIS,ISAPI Rewrite 版本為2.9)
httpd.ini目前看來是較多人多的,因?yàn)関ps默認(rèn)安裝的ISAPI Rewrite版本為2.9,而ISAPI Rewrite 2.9只支持httpd.ini這一類格式的。
在網(wǎng)站根目錄新建立一個(gè)httpd.ini的文件,把以下代碼放進(jìn)去即可。
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^(.*)/book/([0-9]+)$ $1/modules/article/articleinfo\.php\?id=$2 [L]
RewriteRule ^(.*)/top/([a-z]+)-([0-9]+)\.html$ $1/modules/article/toplist\.php\?sort=$2&page=$3 [L]
RewriteRule ^(.*)/fulltxt/([0-9]+)_([0-9]+)\.html$ $1/modules/article/index\.php\?fullflag=$2&page=$3 [L]
(2) .htaccess 版本偽靜態(tài)規(guī)則(運(yùn)行環(huán)境是Apache,或者是IIS ,ISAPI Rewrite 版本為3.0或者以上)
apache只能用.htaccess來做偽靜態(tài),而為什么IIS 的環(huán)境也要用到.htaccess呢?這是因?yàn)镮SAPI Rewrite 版本為3.0或者以上只支持.htaccess的格式。
如果是老手,可以直接用ISAPI Rewrite 版本為3.0把httpd.ini轉(zhuǎn)換成.htaccess格式的。
在網(wǎng)站根目錄新建立一個(gè).htaccess的文件,把以下代碼放進(jìn)去即可。
RewriteEngine On
RewriteBase /
RewriteRule ^book/([0-9]+)\.html$ modules/article/articleinfo.php?id=$1
RewriteRule ^list/([0-9]+)_([0-9]+)/$ modules/article/index.php?page=$2&class=$1
RewriteRule ^top/([a-z]+)_([0-9]+)/$ modules/article/toplist.php?page=$2&sort=$1
(3)URL Rewrite Module (適用于windows 2008 IIS7.5 Rewrite Module 2.0)
因?yàn)檫@個(gè)較少人用到,我就不寫了,打字很累。
以上的規(guī)則都是本人嚴(yán)格測試過的,當(dāng)然還有一些偽靜態(tài)規(guī)則沒寫上,還有字母之類的,我也沒寫,體諒一下,碼字很累。