日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

dede问答模块 那个php文件相对重要,DEDE5.7 问答模板的修改技巧

發(fā)布時(shí)間:2024/1/23 php 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dede问答模块 那个php文件相对重要,DEDE5.7 问答模板的修改技巧 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

dedecms問(wèn)答模塊如何靜態(tài)化

添加dedecms的問(wèn)答模塊有助于被收錄的量及提高網(wǎng)站資訊量,有利于SEO的優(yōu)化及排名,特別是對(duì)于圖片站來(lái)說(shuō),添加了問(wèn)答模塊可以更好的提高收錄量,也有利于被懲罰站的

恢權(quán)重,如果你的站被懲罰了,那么添加個(gè)問(wèn)答模塊還有利于加速恢復(fù)權(quán)重。

我們先來(lái)看下DedeCMS 5.7問(wèn)答模塊的官方升級(jí)說(shuō)明:

重構(gòu)問(wèn)答模塊,采用模塊MVC架構(gòu)進(jìn)行重構(gòu);

問(wèn)答模塊支持偽靜態(tài)設(shè)置;

重新設(shè)計(jì)問(wèn)答模塊前臺(tái)界面,新界面同系統(tǒng)整體界面一致;

客服中心采用新版問(wèn)答模塊改版;

問(wèn)答模塊增加對(duì)二級(jí)域名的支持。

通過(guò)上述說(shuō)明,結(jié)合DedeCMS V5.7的問(wèn)答源碼,基本可以確定兩個(gè)信息:

DedeCMS 5.7問(wèn)答模塊仍然支持偽靜態(tài);

由于織夢(mèng)問(wèn)答模塊升級(jí),使用了新的URL形式,歷史版本的問(wèn)答系統(tǒng)偽靜態(tài)規(guī)則已經(jīng)不適用于新版了,這也DedeCMS 5.7問(wèn)答偽靜態(tài)實(shí)現(xiàn)要解決的重點(diǎn)。

DedeCMS 5.7問(wèn)答偽靜態(tài)高級(jí)解決方案

1)你的主機(jī)是否支持偽靜態(tài)?這點(diǎn)很重要,不然下面說(shuō)再多也是白搭。簡(jiǎn)單說(shuō)明下,Apache服務(wù)器偽靜態(tài)實(shí)現(xiàn)需要借助.htaccess文件;IIS服務(wù)器偽靜態(tài)實(shí)現(xiàn)則需要加載Rewrite

組件,然后配置httpd.ini文件;

2)DedeCMS V5.7管理后臺(tái)-系統(tǒng)-系統(tǒng)基本參數(shù)-模塊設(shè)置,“是否使用Rewrite”選擇“是”,“問(wèn)答模塊的二級(jí)域名”填寫(xiě)“ask”;

這里為什么要填寫(xiě)問(wèn)答模塊的二級(jí)域名?因?yàn)樾∑吹膫戊o態(tài)修改方法是參考DedeCMS V5.5和5.6問(wèn)答的URL形式,目標(biāo)URL以“.html”結(jié)尾,相信對(duì)使用過(guò)歷史版本問(wèn)答系統(tǒng)的朋友

都不會(huì)陌生。

如:http://localhost/ask/question-4.html

這樣的URL在DedeCMS V5.7中會(huì)有一個(gè)問(wèn)題,許多以“?ct=”開(kāi)頭的鏈接都會(huì)訪問(wèn)不了,如“我的提問(wèn)”、“我的回答”、“提高懸賞”、“編輯/刪除問(wèn)題”等,會(huì)產(chǎn)生404錯(cuò)誤頁(yè)

面。

如:http://localhost/ask/question-4.html?ct=myask

其實(shí)這種現(xiàn)象的產(chǎn)生,主要是模板里鏈接的路徑問(wèn)題,采用的都是相對(duì)路徑。而啟用問(wèn)答模塊的二級(jí)域名,再結(jié)合模板修改就可以很好的解決。當(dāng)然,你也可以修改模板,實(shí)現(xiàn)問(wèn)

答全站偽靜態(tài),只需多加幾條偽靜態(tài)規(guī)則即可。

3)DedeCMS 5.7問(wèn)答偽靜態(tài)規(guī)則

IIS服務(wù)器偽靜態(tài)規(guī)則,在httpd.ini文件中加入:

#問(wèn)答首頁(yè)

#RewriteRule ^(.*)/index\.html $1/index\.php

#問(wèn)答詳細(xì)頁(yè)

RewriteRule ^(.*)/question-([0-9]+)\.html $1/\?ct=question&askaid=$2

#問(wèn)答一級(jí)欄目

RewriteRule ^(.*)/browser-1-([0-9]+)\.html $1/\?ct=browser&tid=$2

#問(wèn)答一級(jí)欄目分頁(yè)

RewriteRule ^(.*)/browser-1-([0-9]+)-page-([0-9]+)\.html $1/\?ct=browser&tid=$2&page=$3

#問(wèn)答子欄目

RewriteRule ^(.*)/browser-2-([0-9]+)\.html $1/\?ct=browser&tid2=$2

#問(wèn)答子欄目分頁(yè)

RewriteRule ^(.*)/browser-2-([0-9]+)-page-([0-9]+)\.html $1/\?ct=browser&tid2=$2&page=$3

# 精彩推薦、待解決問(wèn)題、高懸賞問(wèn)題、新解決問(wèn)題、零回答問(wèn)題、快到期問(wèn)題(包括一級(jí)欄目、子欄目及其分頁(yè))

RewriteRule ^(.*)/browser-([0-9]+).html $1/\?ct=browser&lm=$2

RewriteRule ^(.*)/browser-([0-9]+)-page-([0-9]+)\.html $1/\?ct=browser&lm=$2&page=$3

RewriteRule ^(.*)/browser-1-([0-9]+)-([0-9]+)\.html $1/\?ct=browser&tid=$2&lm=$3

RewriteRule ^(.*)/browser-1-([0-9]+)-([0-9]+)-page-([0-9]+)\.html $1/\?ct=browser&tid=$2&lm=$3&page=$4

RewriteRule ^(.*)/browser-2-([0-9]+)-([0-9]+)\.html $1/\?ct=browser&tid2=$2&lm=$3

RewriteRule ^(.*)/browser-2-([0-9]+)-([0-9]+)-page-([0-9]+)\.html $1/\?ct=browser&tid2=$2&lm=$3&page=$4

#全部分類(lèi)

RewriteRule ^(.*)/type.html $1/\?ct=type

#問(wèn)答搜索

RewriteRule ^(.*)/search\.html $1/\?ct=search

#總積分排行 周積分上升排行 查看個(gè)人信息

RewriteRule ^(.*)/myask-view-([0-9]+)\.html $1/\?ct=myask&ac=view&mid=$2

Apache服務(wù)器偽靜態(tài)規(guī)則,在.htaccess文件中加入:

RewriteRule ^index.html$ index.php

RewriteRule ^question-([0-9]+).html$ ?ct=question&askaid=$1

RewriteRule ^browser-1-([0-9]+).html$ ?ct=browser&tid=$1

RewriteRule ^browser-1-([0-9]+)-page-([0-9]+).html$ ?ct=browser&tid=$2&page=$3

RewriteRule ^browser-2-([0-9]+).html$ ?ct=browser&tid2=$1

RewriteRule ^browser-2-([0-9]+)-page-([0-9]+).html$ ?ct=browser&tid2=$2&page=$3

RewriteRule ^browser-([0-9]+).html$ ?ct=browser&lm=$1

RewriteRule ^browser-([0-9]+)-page-([0-9]+).html$ ?ct=browser&lm=$1&page=$2

RewriteRule ^browser-1-([0-9]+)-([0-9]+).html$ ?ct=browser&tid=$1&lm=$2

RewriteRule ^browser-2-([0-9]+)-([0-9]+)-page-([0-9]+).html$ ?ct=browser&tid2=$1&lm=$2&page=$3

RewriteRule ^browser-2-([0-9]+)-([0-9]+).html$ ?ct=browser&tid2=$2&lm=$3

RewriteRule ^browser-2-([0-9]+)-([0-9]+)-page-([0-9]+).html$ ?ct=browser&tid2=$1&lm=$2&page=$3

RewriteRule ^type$ ?ct=type

RewriteRule ^search.html$ ?ct=search

RewriteRule ^myask-view-([0-9]+).html$ ?ct=myask&ac=view&mid=$1

DedeCMS 5.7問(wèn)答偽靜態(tài)修改注意事項(xiàng)

1)注意備份你站點(diǎn)的ask文件夾,防止出錯(cuò),方便還原;

2)以上的問(wèn)答偽靜態(tài)僅供DedeCMS5.7 GBK版本使用,UTF版本請(qǐng)自行轉(zhuǎn)換下代碼;

3)考慮到SEO,很多織夢(mèng)老用戶都是V5.1~V5.6版本升級(jí)至V5.7的,小拼提供的修改辦法保證了歷史問(wèn)答版本URL的一致性,否則URL改變是很影響搜索引擎收錄和排名的;

4)你可以參考下小拼的問(wèn)答偽靜態(tài)實(shí)現(xiàn)思路,總結(jié)出一套符合個(gè)人站點(diǎn)風(fēng)格的偽靜態(tài)方法。

DedeCMS 5.7問(wèn)答偽靜態(tài)初級(jí)解決方案

如果你怕麻煩,還心存疑慮,那就直接使用官方默認(rèn)的偽靜態(tài)方法了,僅實(shí)現(xiàn)問(wèn)答欄目頁(yè)和詳細(xì)頁(yè)的偽靜態(tài),可以使用下面的偽靜態(tài)規(guī)則:

IIS服務(wù)器,在httpd.ini文件中加入:

#問(wèn)答首頁(yè)

#RewriteRule ^(.*)/index\.html $1/index\.php

#問(wèn)答詳細(xì)頁(yè)

RewriteRule ^(.*)/([0-9]+)\.html $1/\?ct=question&askaid=$2

#問(wèn)答一級(jí)欄目

#RewriteRule ^(.*)/([0-9]+) $1/\?ct=browser&tid=$2

#問(wèn)答子欄目

#RewriteRule ^(.*)/t([0-9]+) $1/\?ct=browser&tid2=$2

Apache服務(wù)器,在.htaccess文件中加入:

RewriteRule ^index.html$ index.php

RewriteRule ^([0-9]+).html$ ?ct=question&askaid=$1

RewriteRule ^([0-9]+)$ ?ct=browser&tid=$1

RewriteRule ^t([0-9]+)$ ?ct=browser&tid2=$1

好了,關(guān)于DedeCMS 5.7問(wèn)答模塊偽靜態(tài)的實(shí)現(xiàn)方法就介紹到這里,有什么不明白的地方請(qǐng)?jiān)谙旅媪粞?/p>

問(wèn)答模塊的游客提問(wèn) 管理員回答

一:只允許管理員回答

找到dedecms5.7的/ask/control目錄下的question.php文件,找到其中的這樣一段代碼并增加以下紅色部分代碼:

<?php if($cfg_ml->isAdmin == 1) { ?>

”>

我來(lái)回答這個(gè)問(wèn)題

回答即可得<?php echo $cfg_ask_answerscore;?>分,回答被采納則獲得懸賞分以及獎(jiǎng)勵(lì)<?php echo $cfg_ask_bestanswer;?>分。

if($GLOBALS['cfg_ask_guestanswer'] == ‘Y’)

{

?>

匿名回答

<?php

}

?>

提交回答

二:允許游客提問(wèn)

找到dedecms5.7的/ask/control目錄下的question.php文件,找到其中的這樣一段代碼并刪除:

if(empty($this->cfg_ml->M_ID))

{

ShowMsg(‘您尚未登錄,請(qǐng)先登錄’,$GLOBALS['cfg_ask_member']);

exit;

}

if($this->cfg_ml->M_Spacesta < 0)

{

ShowMsg(‘您還沒(méi)有通過(guò)審核,暫時(shí)不能提問(wèn),請(qǐng)耐心等….’,’-1′);

exit;

}

刪除以上一段代碼后可進(jìn)入提問(wèn)頁(yè)面,但是依然發(fā)布不了,提示:“您尚未登錄,請(qǐng)先登錄”

三:解決 “您尚未登錄,請(qǐng)先登錄”

找到找到并刪除dedecms5.7的/ask/control目錄下的myask.php文件

if(empty($this->cfg_ml->M_ID))

{

ShowMsg(‘您尚未登錄,請(qǐng)先登錄’,$GLOBALS['cfg_ask_member']);

exit;

}

找到找到并刪除dedecms5.7的/ask/control目錄下的search.php文件

if(empty($cfg_ml->M_ID))

{

ShowMsg(‘您尚未登錄,請(qǐng)先登錄’,$GLOBALS['cfg_ask_member']);

exit;

}

if($cfg_ml->M_Spacesta = 0)

{

ShowMsg(‘您還沒(méi)有通過(guò)審核,暫時(shí)不能提問(wèn),請(qǐng)耐心等….’,’-1′);

exit;

}

刪除以上一部分之后 可進(jìn)入發(fā)布了,可是發(fā)不后又提示:“請(qǐng)勿重復(fù)回復(fù)同一問(wèn)題”

四:游客問(wèn)答,提示“請(qǐng)勿重復(fù)回復(fù)同一問(wèn)題”:

同樣找到并刪除dedecms5.7的/ask/control目錄下的question.php文件,找到其中的這樣一段代碼:

if($rs)

{

ShowMsg(‘請(qǐng)勿重復(fù)回復(fù)同一問(wèn)題!’,’-1′);

exit;

}

if($rs){

ShowMsg(‘請(qǐng)不要重復(fù)發(fā)布同一問(wèn)題,請(qǐng)耐心等待解答..’, “index.php”);

exit;

}

到此,想要實(shí)現(xiàn)的功能都已經(jīng)基本上實(shí)現(xiàn)了。最后在附送其他幾個(gè)問(wèn)題的解決辦法,如果有用到可以參考。

五:問(wèn)題已過(guò)期、提問(wèn)者自己不能回答自己的問(wèn)題

同樣找到找到并刪除dedecms5.7的/ask/control目錄下的question.php文件,找到其中的這樣一段代碼

if($question)

{

if($question['uid'] == $this->cfg_ml->M_ID)

{

ShowMsg(‘提問(wèn)者自己不能回答自己的問(wèn)題’, ‘-1′);

exit;

}else if($question['expiredtime'] < $GLOBALS['cfg_ask_timesasdp']){

ShowMsg(‘問(wèn)題已經(jīng)過(guò)期’,’-1′);

exit;

}

$data['tid'] = $question['tid'];

$data['tid2'] = $question['tid2'];

$data['userip'] = getip();

}else{

ShowMsg(‘回答的問(wèn)題不存在’,’-1′);

exit;

}

六:“驗(yàn)證碼錯(cuò)誤!”“驗(yàn)證問(wèn)題答案錯(cuò)誤”

找到找到并刪除dedecms5.7的/ask/control目錄下的question.php文件

if(preg_match(“#7#”,$GLOBALS['safe_gdopen'])){

$svali = GetCkVdValue();

if(strtolower($data['vdcode']) != $svali || $svali==”)

{

ResetVdValue();

ShowMsg(‘驗(yàn)證碼錯(cuò)誤!’, ‘-1′);

exit();

}

}

//檢查驗(yàn)證問(wèn)題

$faqkey = isset($data['faqkey']) && is_numeric($data['faqkey']) ? $data['faqkey'] : 0;

if($GLOBALS['gdfaq_ask'] == ‘Y’)

{

global $safefaqs;

if($safefaqs[$faqkey]['answer'] != $data['safeanswer'] || $data['safeanswer'] ==”)

{

ShowMsg(‘驗(yàn)證問(wèn)題答案錯(cuò)誤’, ‘-1′);

exit();

}

}

總結(jié)

以上是生活随笔為你收集整理的dede问答模块 那个php文件相对重要,DEDE5.7 问答模板的修改技巧的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。