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

      
          
      歡迎訪問 生活随笔!

      生活随笔

      當前位置: 首頁 > 编程语言 > php >内容正文

      php

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

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

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

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

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

      我們先來看下DedeCMS 5.7問答模塊的官方升級說明:

      重構(gòu)問答模塊,采用模塊MVC架構(gòu)進行重構(gòu);

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

      重新設計問答模塊前臺界面,新界面同系統(tǒng)整體界面一致;

      客服中心采用新版問答模塊改版;

      問答模塊增加對二級域名的支持。

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

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

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

      DedeCMS 5.7問答偽靜態(tài)高級解決方案

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

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

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

      這里為什么要填寫問答模塊的二級域名?因為小拼的偽靜態(tài)修改方法是參考DedeCMS V5.5和5.6問答的URL形式,目標URL以“.html”結(jié)尾,相信對使用過歷史版本問答系統(tǒng)的朋友

      都不會陌生。

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

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

      面。

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

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

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

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

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

      #問答首頁

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

      #問答詳細頁

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

      #問答一級欄目

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

      #問答一級欄目分頁

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

      #問答子欄目

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

      #問答子欄目分頁

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

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

      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

      #全部分類

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

      #問答搜索

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

      #總積分排行 周積分上升排行 查看個人信息

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

      Apache服務器偽靜態(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問答偽靜態(tài)修改注意事項

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

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

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

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

      DedeCMS 5.7問答偽靜態(tài)初級解決方案

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

      IIS服務器,在httpd.ini文件中加入:

      #問答首頁

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

      #問答詳細頁

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

      #問答一級欄目

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

      #問答子欄目

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

      Apache服務器,在.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

      好了,關于DedeCMS 5.7問答模塊偽靜態(tài)的實現(xiàn)方法就介紹到這里,有什么不明白的地方請在下面留言

      問答模塊的游客提問 管理員回答

      一:只允許管理員回答

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

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

      ”>

      我來回答這個問題

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

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

      {

      ?>

      匿名回答

      <?php

      }

      ?>

      提交回答

      二:允許游客提問

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

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

      {

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

      exit;

      }

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

      {

      ShowMsg(‘您還沒有通過審核,暫時不能提問,請耐心等….’,’-1′);

      exit;

      }

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

      三:解決 “您尚未登錄,請先登錄”

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

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

      {

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

      exit;

      }

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

      if(empty($cfg_ml->M_ID))

      {

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

      exit;

      }

      if($cfg_ml->M_Spacesta = 0)

      {

      ShowMsg(‘您還沒有通過審核,暫時不能提問,請耐心等….’,’-1′);

      exit;

      }

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

      四:游客問答,提示“請勿重復回復同一問題”:

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

      if($rs)

      {

      ShowMsg(‘請勿重復回復同一問題!’,’-1′);

      exit;

      }

      if($rs){

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

      exit;

      }

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

      五:問題已過期、提問者自己不能回答自己的問題

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

      if($question)

      {

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

      {

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

      exit;

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

      ShowMsg(‘問題已經(jīng)過期’,’-1′);

      exit;

      }

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

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

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

      }else{

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

      exit;

      }

      六:“驗證碼錯誤!”“驗證問題答案錯誤”

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

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

      $svali = GetCkVdValue();

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

      {

      ResetVdValue();

      ShowMsg(‘驗證碼錯誤!’, ‘-1′);

      exit();

      }

      }

      //檢查驗證問題

      $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(‘驗證問題答案錯誤’, ‘-1′);

      exit();

      }

      }

      總結(jié)

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

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