花魁直播高品质美女在线视频互动社区 - 花魁直播官方版

 歡迎來到素材無憂網(wǎng),按 + 收藏我們
登錄 注冊 退出 找回密碼

Dedecms移動端網(wǎng)站手機網(wǎng)站的搭建的方法

時間: 2021-04-12 14:15 閱讀: 作者:素材無憂網(wǎng)

現(xiàn)在網(wǎng)站使用手機端,或者IPAD等各種移動端瀏覽越來越成為一種潮流,因此我們作為站長也需要與時俱進,要將網(wǎng)站適配手機端訪問。幸好DEDECMS已經(jīng)提供了移動端建站功能,可以與PC端共用一套數(shù)據(jù),雖然目前功能還不是很完善,但是已經(jīng)達到可用程度。

第一步:安裝Dedecms移動站點

(1)下載新版本直接安裝使用,Dedecms版本:V5.7SP1正式版(2015-06-18)含之后的版本均提供舊版本所沒有的移動站點功能。

(2)老版本升級(僅針對增加移動站點功能),到DEDE官網(wǎng)下載最新版本(注意網(wǎng)站編碼需與原來一致),復制壓縮包中以下文件到原網(wǎng)站對應目錄下:

Dedecms移動端網(wǎng)站手機網(wǎng)站的搭建的方法(圖1)

注意:

如果原站有非默認模板,如某欄目模板為/templets/defaultst_default_news.htm,可將/templets/defaultst_default_m.htm復制一份改名為list_default_news _m.htm。

即:pc端網(wǎng)站模板需有對應的移動端網(wǎng)站模板,后者文件名為前者文件名后加“_m”。

安裝或升級dedecms完成,此時應該就可以進行移動跳轉(zhuǎn)適配了。但dedecms提供的移動站點功能在使用過程中我們發(fā)現(xiàn)了一些問題,目前DEDE官方未進行改進,因此需要我們自行進行修改后才可正常使用,如果你按下面方法操作的過程中發(fā)現(xiàn)不一樣,那就是DEDE官方已經(jīng)改正,可以略過

第二步:修改Dedecms

(1)如果原站進行過把DATA目錄移到根目錄外的安全設(shè)置方案,那需修改/m/index.php代碼:

 if(!file_exists(dirname(__FILE__).'/../data/common.inc.php'))
        {
        header('Location:install/index.php');
        exit();
        }

將其中/../data/common.inc.php改為/../../data/common.inc.php,或直接將以上5行代碼刪除。

(2) 移動站點首頁在會第一次訪問時自動生成靜態(tài)文件,需確保/m/目錄需設(shè)置為可寫權(quán)限,否則將無法寫入靜態(tài)首頁文件。但是之后更新首頁靜態(tài)文件還需要登陸后臺手動更新:在“更新主頁HTML”中將“選擇主頁模板”改為“default/index_m.htm”,將“主頁位置”改為“../m/index.html”,然后點擊生成主頁靜態(tài)文件。雖然有點麻煩但聊勝于無,當然你也可以直接設(shè)置訪問index.php這種動態(tài)方式訪問

Dedecms移動端網(wǎng)站手機網(wǎng)站的搭建的方法(圖2)

注意默認移動站模板header_m.htm里面有<a href="index.php">的動態(tài)首頁鏈接,如要靜態(tài)訪問首頁需替換為<a href="index.html">靜態(tài)鏈接形式?!缬X得使用靜態(tài)頁面麻煩,想將首頁設(shè)置為動態(tài)瀏覽,可修改/m/index.php:

$row['showmod'] = isset($row['showmod'])? $row['showmod'] : 0;
     if ($row['showmod'] == 1)
     {
     $pv->SaveToHtml(dirname(__FILE__).'/index.html');
     include(dirname(__FILE__).'/index.html');
     exit();
     } else {
     $pv->Display();
     exit();
     }

以上代碼替換為一行:

$pv->Display();

第三步:修改模板中的錯漏:

搜索模板/templets/default/index_m.htm中所有<a href="[field:arcurl/]"> ,替換為<a href="view.php?aid=[field:id/]">

第四步:通用頭部含有搜索框,搜索跳轉(zhuǎn)至pc端搜索頁面,建議刪除:

在/templets/default/header_m.htm中刪除以下代碼:

<form class="am-topbar-form am-topbar-left am-form-inline am-topbar-right" role="search" action="{dede:global.cfg_cmsurl/}/plus/search.php">
        <input type="hidden" name="mobile" value="1" />
        <input type="hidden" name="kwtype" value="0" />
        <p class="am-form-group">
        <input name="q" type="text" class="am-form-field am-input-sm" placeholder="輸入關(guān)鍵詞">
        </p>
        <button type="submit" class="am-btn am-btn-default am-btn-sm">搜索</button>
        </form>

第五步: 設(shè)置移動站點的二級域名

DEDE的移動站點默認使用二級目錄,但目前百度搜索移動適配需要使用二級域名(前段時間是可以使用二級目錄的,但目前已調(diào)整,不能再提交二級目錄),所以我們要設(shè)置移動站可通過二級域名訪問,解析二級域名至網(wǎng)站所在服務器ip,并在服務器/空間上將二級域名綁定到/m/目錄。

成功設(shè)置二級域名后,通過二級域名瀏覽網(wǎng)站會發(fā)現(xiàn)圖片均無法顯示,原因是圖片路徑有誤——默認圖片路徑為“/uploads/x/y.jpg”樣式的相對鏈接

這種相對根目錄路徑形式,在pc站頁面中顯示正常,這是因為pc站域名下存在該目錄,而二級域名綁定的是二級目錄,二級目錄的下層目錄中并不存在該目錄,所以訪問圖片會返回 404錯誤。對此,有多種解決方案,下面提供兩個思路(示例pc站:www.bnxb.com ;移動站:m.bnxb.com):

(1)URL 重寫(推薦)

將對http://m.bnxb.com/uploads/的訪問重寫 至http://www.bnxb.com/uploads/,apache環(huán)境下,在/m/目錄中的.htaccess(如無則需新建)中增加以下代碼即可:

 

 RewriteEngine on
        RewriteCond %{http_host} ^m.bnxb.com [NC]
        RewriteRule ^uploads/(.*)$ http://www.bnxb.com/uploads/$1 [L]

iis、Nginx環(huán)境下類似規(guī)則。

(2)修改模板路徑

在所有移動端模板中的<head></head>中增加:

<base href="http://www.bnxb.com" />

再將代碼中的

  • “<a href="list.php”改為完整路徑“<a href=" http://m.bnxb.com/list.php”
  • “<a href="viewphp”改為完整路徑“<a href=" http://m.bnxb.com/view.php”

(3)啟用DEDE的絕對網(wǎng)址功能

①點擊-系統(tǒng)-系統(tǒng)基本設(shè)置-核心設(shè)置-(是/否)支持多站點,開啟此項后附件、欄目連接、arclist內(nèi)容啟用絕對網(wǎng)址: 選擇是

②找到 \include\dialog\select_images_post.php 第108行

$fileurl = $activepath.'/'.$filename;

換成:

$fileurl = $cfg_cmsurl.$activepath.'/'.$filename;

③修改目錄include下的文件extend.func.php,在最后面添加一個函數(shù)方法function replaceurl($newurl){$newurl=str_replace('src="/uploads/allimg/','src="http://你的域名/uploads/allimg/',$newurl);return $newurl;}

④另外調(diào)用文章正文內(nèi)容的標簽{dede:field.body/}

需要改成:{dede:field.body function='replaceurl(@me)'/}

以上三種方法都可以用

另舊版5.7SP1含之前的還需要這么操作:將根目錄下的/images/defaultpic.gif(縮略圖默認圖片)復制到/m/目錄下,否則列表頁中如存在無縮略圖的文章,對應縮略圖位置會無法正常顯示圖片。SP2以后已經(jīng)改正這個BUG可以略過

其他:

1、如有欄目不想在首頁下方列表區(qū)域或通用頭部顯示,可在后臺對應的欄目管理/常規(guī)選項中設(shè)置隱藏。

第六步、為了更好的實現(xiàn)pc端和移動端自動匹配分離瀏覽效果,可在pc端模板增加類似如下自動跳轉(zhuǎn)代碼:

首頁

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/">
        <script type="text/javascript">
        if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}
        </script>

欄目頁

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/list.php?tid={dede:field.id/}">
        <script type="text/javascript">
        if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/list.php?tid={dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}
        </script>

文章頁

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/view.php?aid={dede:field.id/}">
        <script type="text/javascript">
        if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/view.php?aid={dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}
        </script>

以上代碼為dedecms新版模板所使用,第一行<meta>標簽代碼為讓百度發(fā)現(xiàn)并跳轉(zhuǎn)收錄適配對應的移動端站點,下面幾行javascript代碼的功能是識別是否移動端設(shè)備訪問,如是則將當前pc端頁面自動跳轉(zhuǎn)到匹配的移動端頁面。

因為部分DEDECMS升級不完整,可能系統(tǒng)里并不一定有{dede:global.cfg_mobileurl/}這個變量因此有兩種辦法:

1、將代碼中的{dede:global.cfg_mobileurl/}部分替換為包含“http://”的二級域名(即:http://m.bnxb.com),如不想修改模板里的相關(guān)代碼,也可修改/include/common.inc.php中的$cfg_mobileurl變量賦值為二級域名。

2、在DEDECMS后臺新建變量cfg_mobileurl,并賦值為http://m.b nx b.co m

Dedecms移動端網(wǎng)站手機網(wǎng)站的搭建的方法(圖3)

以上兩種方法任選一個就行

另外,還可使用<link>標簽以便于百度更好地發(fā)現(xiàn)PC站和移動站的移動適配關(guān)系,在模板的<head></head>標簽內(nèi)加入如下代碼:

PC站首頁模板:

 <link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.bnxb.com" >

PC站欄目頁模板:

    <link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.bnxb.com/list.php?tid={dede:field.id/}" >

PC站文章頁模板:

   <link rel="alternate" media="only screen and (max-width: 640px)" href=" http://m.bnxb.com/view.php?aid={dede:field.id/}" >

移動站首頁模板:

 <link rel="canonical" href="http://www.bnxb.com/ "/>

欄目頁模板:

   <link rel="canonical" href="http://www.bnxb.com{dede:type typeid='0' row=1}[field:typelink /]{/dede:type}"/>

文章頁模板:

   <link rel="canonical" href="http://www.bnxb.com/{dede:field.id runphp='yes'}$id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];{/dede:field.id}"/>

至此,移動站架設(shè)基本成型。

百度提交移動跳轉(zhuǎn)適配

由于網(wǎng)站流量來源主要是百度所以這一步很重要。

首先注冊百度站長平臺http://zhanzhang.baidu.com/,添加網(wǎng)址.

如果具體案例,選擇url適配,格式:
http://www.bnxb.com http://m.bnxb.com
http://www.bnxb.com/wangluoyingxiao http://m.bnxb.com/list.php?tid=13
http://www.bnxb.com/wangzhanyouhua http://m.bnxb.com/list.php?tid=8
http://www.bnxb.com/wangzhancehua http://m.bnxb.com/list.php?tid=21
http://www.bnxb.com/chenggonganlie http://m.bnxb.com/list.php?tid=29
http://www.bnxb.com/xinwenzhongxin http://m.bnxb.com/list.php?tid=2
http://www.bnxb.com/jingzhunyingxiao http://m.bnxb.com/list.php?tid=17

規(guī)則的網(wǎng)址適配主要適配內(nèi)容頁面。表達式如下:
http://www.bnxb.com/(\w+)/(\d+)/(\d+)/(\d+).html
http://m.bnxb.com/view.php?aid=${4}

Dedecms移動端網(wǎng)站手機網(wǎng)站的搭建的方法(圖4)

適配方式:

欄目頁的對應關(guān)系沒有規(guī)律,且數(shù)量較少,使用URL適配 ;文章頁為有規(guī)律的網(wǎng)址,且數(shù)量多,使用規(guī)則適配。

提交文章頁規(guī)則適配(如圖):

Dedecms移動端網(wǎng)站手機網(wǎng)站的搭建的方法(圖5)

提交首頁和欄目頁URL適配(如圖):

Dedecms移動端網(wǎng)站手機網(wǎng)站的搭建的方法(圖6)

對于欄目較多的Dedecms網(wǎng)站,人工列出所有的欄目頁URL對顯然很費事,這里推薦一個方法可以輕松解決該問題:

※在模板中嵌入以下代碼,對應前臺頁面中即可顯示所有欄目的URL對,復制粘貼即可:


復制代碼代碼如下:

{dede:channelartlist row=100 typeid='top'} <a >http://www.bnxb.com{dede:field</a> name='typeurl'/} <a >http://m.bnxb.com/list.php?tid={dede:field</a> name='id'/}
{dede:channel type='son' noself='true'} <a >http://www.bnxb.com[field:typelink/</a>] <a >http://m.bnxb.com/list.php?tid=[field:id/]<br</a>> {/dede:channel} {/dede:channelartlist}

※提交完規(guī)則適配,等待百度審核。

如果所提交的適配關(guān)系有誤,處理狀態(tài)將很快會出現(xiàn)“校驗失敗”的提示。

Dedecms移動端網(wǎng)站手機網(wǎng)站的搭建的方法(圖7)

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持素材無憂。

版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!

轉(zhuǎn)載請注明: Dedecms移動端網(wǎng)站手機網(wǎng)站的搭建的方法

標簽:  
相關(guān)文章
模板推薦