帝國cms的(de)wap功能是一(yī)個實現手機版比較邊界且自(zì)由度高(gāo)的(de)方法,但這其中也有一(yī)些問題,就是地(dì)址隻有動态地(dì)址,這樣對收錄似乎并不好。
這裏我們以這套模闆的(de)wap端為(wèi)例,來講一(yī)下帝國cms的(de)wap端實現僞靜态的(de)方法。
一(yī)、wap端模闆的(de)路徑
首先我們說明一(yī)下,wap端的(de)模闆是存儲在文件當中,地(dì)址為(wèi) /e/wap/template/ ,這其中有index.temp.php list.temp.php show.temp.php,分别對應首頁、列表頁、內(nèi)容頁。
二、文件修改
我們打開index.temp.php文件,也就是首頁模闆,其中list.php為(wèi)列表頁鏈接,show.php為(wèi)內(nèi)容頁鏈接。
我們在第31行看到如(rú)下代碼:
$classurl="list.php?classid=".$r[classid]."&style=".$wapstyle."&bclassid=".$bclassid; |
其中classid即欄目id,style和(hé)bclassid對應模闆樣式和(hé)父欄目id,這兩項可(kě)不填寫。
假設我們要把地(dì)址僞靜态為(wèi) /e/wap/list-8.html ,我們将上面的(de)鏈接代碼修改為(wèi)如(rú)下:
$classurl="list-".$r[classid]."html"; |
其他地(dì)方類似,包含list鏈接的(de)地(dì)方都修改為(wèi)如(rú)上的(de)方式。
接下來是內(nèi)容頁鏈接地(dì)址,內(nèi)容頁地(dì)址是在wap版靈動标簽中通過函數生成,函數在/e/wap/wapfun.php文件第527行,代碼如(rú)下:
$titleurl='show.php?classid='.$r[classid].'&id='.$r[id].'&style='.$wapstyle.'&bclassid='.$class_r[$r[classid]][bclassid].'&cid='.$r[classid].'&cpage=0'; |
我們也将其修改為(wèi)靜态化的(de)地(dì)址,這裏需要注意,classid及id兩項為(wèi)必須,其他可(kě)忽略:
$titleurl='show-'.$r[classid].'-'.$r[id].'.html'; |
上面是首頁及靈動标簽中地(dì)址的(de)修改,接下來我們看列表頁,打開list.temp.php文件,其中的(de)代碼與上面類似,修改方式可(kě)參考上方,例如(rú)第52行定義的(de)內(nèi)容頁地(dì)址:
$titleurl="show.php?classid=".$r[classid]."&id=".$r[id]."&style=".$wapstyle."&cpage=".$page."&cid=".$classid."&bclassid=".$bclassid; |
三、僞靜态規則
文件修改完之後,我們還需要相應的(de)僞靜态規則來實現地(dì)址鏈接的(de)rewrite,大家可(kě)根據自(zì)己的(de)服務器環境選擇。
apache:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)/e/wap/index.html$ $1/e/wap/index.php
RewriteRule ^(.*)/e/wap/list-([0-9]+).html$ $1/e/wap/list.php?classid=$2
RewriteRule ^(.*)/e/wap/show-([0-9]+)-([0-9]+).html$ $1/e/wap/show.php?classid=$2&id=$3
nginx:
location / {
rewrite ^(.*)/e/wap/index.html$ $1/e/wap/index.php
rewrite ^(.*)/e/wap/list-([0-9]+)\.html$ $1/e/wap/list.php?classid=$2
rewrite ^(.*)/e/wap/show-([0-9]+)-([0-9]+)\.html$ $1/e/wap/show.php?classid=$2&id=$3
}