POST TIME:2017-12-13 22:29
今天去安裝DEDECMS問答模塊都是動態(tài)的,那怎么實(shí)現(xiàn)靜態(tài)呢?要生成html的話估計(jì)很難實(shí)現(xiàn)。于是想到了偽靜態(tài)!今天把方法總結(jié)一下:
要做好偽靜態(tài),最好是知道偽靜態(tài)的原理。知道了原理后就容易做出來了。一句話講不清感覺,要懂正則吧。
問答的偽靜態(tài)不像文章。改一個(gè)地方就OK了。這個(gè)得改文件的。所以才有的人講為什么開啟了偽靜態(tài)有的鏈接還是動態(tài)的,而且還不能偽靜態(tài),就是這個(gè)原因吧。要了解偽靜態(tài)是如何生成的原理就能明白了。
這個(gè)東西是活的。不是死的。所以你可以把我的偽靜態(tài)變成你的偽靜態(tài)。比如我的規(guī)則寫了一條RewriteRule ^tidt([0-9]+)lm([0-9]+)$ ?ct=browser&tid2=$1&lm=$2 ,這個(gè)lm起什么作用啊。要是我做站我就會不要了,盡可能的精簡短小。還有這句:RewriteRule ^ask([0-9]+)$ ?ct=browser&lm=$1,我用的是ask,你也可以改成比如我的站是haoboweb.com,你就可以這樣改:RewriteRule ^haoboweb([0-9]+)$ ?ct=browser&lm=$1 ,這樣跟你的站接近,也更容易讓人記住的。
我改的文件和規(guī)則都打包讓需要的人下載用,打包的文件是GBK的。如果你的是UTF8的編碼,也同樣能用,但是在使用之前用軟件把編碼轉(zhuǎn)換一下即可。文件是官方的默認(rèn)文件,如果你用的不是官方模板千萬不要覆蓋。每一條規(guī)則我都寫的有備注,大家可以參考備注修改成自己的偽靜態(tài)規(guī)則。這樣你與別人的偽靜態(tài)規(guī)則不同,更利于SEO的收錄。最后,我是在apache下面測試通過的。
# 將 RewriteEngine 模式打開
RewriteEngine On
# 請把此文件放在問答的根目錄下面,然后修改以下語句中的 /ask 為你的問答目錄地址
RewriteBase /ask
# 頂級欄目的偽靜態(tài)規(guī)則
RewriteRule ^([0-9]+)$ ?ct=browser&tid=$1
# 子級欄目的偽靜態(tài)規(guī)則
RewriteRule ^t([0-9]+)$ ?ct=browser&tid2=$1
# 問答內(nèi)容頁的偽靜態(tài)規(guī)則
RewriteRule ^([0-9]+).html$ ?ct=question&askaid=$1
# 待解決問題,高懸賞問題,新解決問題,精彩推薦的列表頁規(guī)則
RewriteRule ^ask([0-9]+)$ ?ct=browser&lm=$1
# 導(dǎo)航菜單(全部分類)偽靜態(tài)規(guī)則
RewriteRule ^type$ ?ct=type
# 頂級欄目列表頁中的偽靜態(tài)規(guī)則
# 等待解決,已解決,高懸賞,零回答,快到期,全部查看的偽靜態(tài)規(guī)則
RewriteRule ^tid([0-9]+)lm([0-9]+)$ ?ct=browser&tid=$1&lm=$2
# 全部查看偽靜態(tài)規(guī)則
RewriteRule ^vtid([0-9]+)$ ?ct=browser&tid=$1
# 子級欄目列表頁中的偽靜態(tài)規(guī)則
# 等待解決,已解決,高懸賞,零回答,快到期,全部查看的偽靜態(tài)規(guī)則
RewriteRule ^tidt([0-9]+)lm([0-9]+)$ ?ct=browser&tid2=$1&lm=$2
# 全部查看偽靜態(tài)規(guī)則
RewriteRule ^tidt([0-9]+)$ ?ct=browser&tid2=$1
# 編輯提問偽靜態(tài)規(guī)則
RewriteRule ^askaid([0-9]+)$ ?ct=question&ac=edit&askaid=$1
# 我的提問偽靜態(tài)規(guī)則
RewriteRule ^myask$ ?ct=myask
# 我的回答偽靜態(tài)規(guī)則
RewriteRule ^answer$ ?ct=myask&ac=answer3
| DEDECMS問答模塊實(shí)現(xiàn)偽靜態(tài)化 |
