discuz插件伪静态如何设置,根据独游魔盒设置经验进行讲解
剛開始的時(shí)候也是沒打算做偽靜態(tài)的,因?yàn)槲也皇浅绦騿T出身,雖然懂一點(diǎn)代碼,但是對(duì)于偽靜態(tài)的實(shí)現(xiàn)還是不大了解。但是一個(gè)欄目做了一年之后,百度還是沒有收錄(在創(chuàng)建欄目之初就已經(jīng)被谷歌收錄,這里可以看出來百度的算法還是不太完善),于是決定進(jìn)行偽靜態(tài)改造。
這里問題就來了,怎么改,完全一頭霧水啊,沒辦法各種找教程,但是通過修改apache配置文件之后,頁(yè)面顯示的還是動(dòng)態(tài)鏈接,并不是修改之后的靜態(tài)化地址。反復(fù)嘗試之后還是這樣,于是我就放棄了一段時(shí)間,重新找視頻教程,研究php偽靜態(tài)是如何實(shí)現(xiàn)的,最終終于被我實(shí)現(xiàn)成功了!
偽靜態(tài)前的代碼:域名:/onemary_video-list.html?catid=5&page=4
偽靜態(tài)后的代碼:http://www.xmohe.com/videolist_5_2_4.html
?
這里說一下具體實(shí)現(xiàn)的思路,想直接看實(shí)現(xiàn)代碼的可以跳過這一段。
其實(shí)通過我后來的學(xué)習(xí)發(fā)現(xiàn),我之前做的直接在apache服務(wù)器端用.htaccess配置偽靜態(tài)的規(guī)則其實(shí)并沒有錯(cuò),只是只配置這個(gè)文件,并沒有完成所有工作,除了在服務(wù)器端進(jìn)行偽靜態(tài)規(guī)則的配置之外,網(wǎng)站url的輸出也是要進(jìn)行配置的,這里說一下偽靜態(tài)的實(shí)現(xiàn)原理吧1
以http://www.xmohe.com/videolist_5_2_4.html這個(gè)網(wǎng)址為例,當(dāng)你訪問這個(gè)地址的時(shí)候,其實(shí)就是你的瀏覽器,向這個(gè)網(wǎng)站的服務(wù)器發(fā)送一個(gè)請(qǐng)求,請(qǐng)求這個(gè)頁(yè)面,當(dāng)apache接收到這個(gè)請(qǐng)求的時(shí)候,先將他分配到指定的目錄,比如我網(wǎng)站的目錄在www/bbs ,那么他就會(huì)先調(diào)取bbs目錄下的.htaccess文件,訪問里面的配置文件,比如下面這個(gè)
?
#? RewriteEngine 模式打開
RewriteEngineOn
# 目錄地址
RewriteBase /
#用于萬美視頻
RewriteCond%{QUERY_STRING} ^(.*)$
RewriteRule ^videolist_([0-9]+)_([0-9]+)\.html$? plugin.php?id=onemary_video:catid=$1&page=$2%1
?
當(dāng)我們發(fā)送http://www.xmohe.com/videolist_5_2_4.html這個(gè)請(qǐng)求的時(shí)候,服務(wù)器就自動(dòng)一條一條匹配你的偽靜態(tài)規(guī)則,當(dāng)匹配到上面代碼中這一條的時(shí)候(其實(shí)還有很多別的規(guī)則,這里只列出舉例說明的這一部分),匹配成功,就會(huì)將請(qǐng)求發(fā)送給后面的這個(gè)地址plugin.php?id=onemary_video:catid=$1&page=$2%1,最終還原成plugin.php?id=onemary_video:catid=5&page=4,然后將這個(gè)地址生成的內(nèi)容返回給你的瀏覽器,這樣你就看到頁(yè)面啦!
上面這個(gè)步驟就實(shí)現(xiàn)了偽靜態(tài)的響應(yīng),但是這個(gè)時(shí)候你會(huì)發(fā)現(xiàn)一個(gè)問題,就是訪問偽靜態(tài)網(wǎng)址可以正常響應(yīng)了,但是直接在網(wǎng)站顯示的網(wǎng)址,還是動(dòng)態(tài)網(wǎng)址。這一部分就需要對(duì)網(wǎng)站的程序或者模板進(jìn)行修改了。因?yàn)槲沂切薷膁iscuz的插件偽靜態(tài),所以這里只需要更改discuz插件模板里的網(wǎng)址規(guī)則就行啦(ps.discuz具有完善的模板規(guī)則,所有的插件安裝目錄都有一個(gè)templets文件夾,直接在這里就能修改啦),我將模板里動(dòng)態(tài)地址的部分,全部修改成了靜態(tài)地址的形式,更新緩存后,就生效了。
如果你對(duì)php和變量完全不了解的話,強(qiáng)烈建議不要自己胡亂嘗試修改,因?yàn)楹苡锌赡軐?dǎo)致模板失效。
如果你和我一樣是個(gè)喜歡探索的人的話,那我建議你在修改模板之前,先將模板做一個(gè)備份,然后復(fù)制一份新的進(jìn)行修改,這樣如果你修改錯(cuò)了,也可以通過用原始模板覆蓋的方法來恢復(fù)模板功能,然后再慢慢找原因。
?
希望你和我一樣,在這條道路上能一直走下去,不忘初心。
總結(jié)
以上是生活随笔為你收集整理的discuz插件伪静态如何设置,根据独游魔盒设置经验进行讲解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。