【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學(xué)教程|免費教程|自學(xué)電腦|3D教程|平面教程|影視動畫教程|辦公教程|機(jī)械設(shè)計教程|網(wǎng)站設(shè)計教程!【道勤網(wǎng)】
標(biāo)題:
訪問門戶頻道綁定的域名仍跳轉(zhuǎn)到默認(rèn)域名下的分析
[打印本頁]
作者:
discuz美化
時間:
2015-2-19 16:19
標(biāo)題:
訪問門戶頻道綁定的域名仍跳轉(zhuǎn)到默認(rèn)域名下的分析
問題描述:
已在后臺->門戶->頻道欄目下設(shè)置某個一級欄目的綁定域名,但是訪問此域名,仍會跳轉(zhuǎn)到門戶域名下的頻道地址上。
如后臺設(shè)置的新聞頻道的綁定域名為news.moke8.com,設(shè)置的默認(rèn)域名為
www.moke8.com
,訪問n
ews.moke8.com
會302跳轉(zhuǎn)到
www.moke8.com/portal.php?mod=list&catid=x
的地址(
www.moke8.com
為門戶域名,x為新聞頻道的ID)。
原因:
綁定的域名生效同時還需要設(shè)置頻道的目錄名稱,否則仍會跳轉(zhuǎn)到門戶域名下的頻道地址。
代碼分析:
在cache_portalcategory.php文件中的build_cache_portalcategory函數(shù)中,
$domain = $_G['setting']['domain'];
//$_G['setting']['domain']為后臺->全局->域名設(shè)置下設(shè)置的域名,為數(shù)組。
$channelrootdomain = !empty($domain['root']) && !empty($domain['root']['channel']) ? $domain['root']['channel'] : '';
//$channelrootdomain為頻道根域名,如果沒有設(shè)置頻道根域名則為空。
$portaldomain = '';
if(!empty($domain['app']['portal'])) {
$portaldomain = 'http://'.$domain['app']['portal'].$_G['siteroot'];
} elseif(!empty($domain['app']['default'])) {
$portaldomain = 'http://'.$domain['app']['default'].$_G['siteroot'];
} else {
$portaldomain = $_G['siteurl'];
}
//$portaldomain為門戶域名
//$domain['app']['default']為應(yīng)用域名下的門戶域名
//$domain['app']['default']為應(yīng)用域名下的默認(rèn)域名
//$_G['siteurl']為站點url
復(fù)制代碼
if($channelrootdomain && $data[$topid]['domain']){
//如果存在頻道根域名,同時設(shè)置該頻道欄目綁定了域名
$url = 'http://'.$data[$topid]['domain'].'.'.$channelrootdomain.'/';
//設(shè)置該頻道欄目的url為http://頻道欄目綁定的域名.頻道根域名/
if($foldername) {
//如果設(shè)置了頻道的目錄名稱
if(!empty($value['upid'])) {
//如果存在父級分類
$url .= $foldername;
//設(shè)置該頻道欄目的url為http://頻道欄目綁定的域名.頻道根域名/頻道的目錄名稱
}
} else {
$url = $portaldomain.'portal.php?mod=list&catid='.$key;
//沒有設(shè)置頻道的目錄名稱的話,設(shè)置該頻道欄目的url為門戶域名.poral.php?mod=list&catid=x(x為該頻道欄目ID)
//從這里可以看出來,如果僅設(shè)置了頻道域名而沒有設(shè)置頻道的目錄名稱,則頻道欄目的url還是會使用門戶域名而非頻道欄目綁定的域名
}
} elseif ($foldername) {
//沒有設(shè)置頻道根域名,但是設(shè)置了頻道的目錄名稱
$url = $portaldomain.$foldername;
//設(shè)置該頻道欄目的url為門戶域名.頻道的目錄名稱
if(substr($url, -1, 1) != '/') $url.= '/';
} else {
//沒有設(shè)置頻道根域名,沒有設(shè)置頻道的目錄名稱
$url = $portaldomain.'portal.php?mod=list&catid='.$key;
//設(shè)置該頻道欄目的url為門戶域名.portal.php?mod=list&catid=x(x為該頻道欄目ID)
}
復(fù)制代碼
歡迎光臨 【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學(xué)教程|免費教程|自學(xué)電腦|3D教程|平面教程|影視動畫教程|辦公教程|機(jī)械設(shè)計教程|網(wǎng)站設(shè)計教程!【道勤網(wǎng)】 (http://bmrsportswear.com/)
Powered by Discuz! X3.4