您好,歡迎來到創立網絡工作室官方網站!ZJJCL.CN
新聞動态
您現在的(de)位置:首頁 > 技術文摘
帝國cms使用wap版手機網站實現僞靜态的(de)方法
來源:創立工作室 作者:馮軍 發布時間:2022-03-13 08:00:51 閱讀 1884 次

帝國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 
 }