查看: 862|回復: 0
打印 上一主題 下一主題
收起左側

Discuz! X3.4主題分類和分類信息偽靜態設置方法

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2019-7-23 19:28:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

馬上注冊,結交更多好友,享用更多功能,讓您輕松玩轉資訊

您需要 登錄 才可以下載或查看,沒有帳號?立即注冊

x
A、主題分類偽靜態設置方法:

準備好修改的模板文件:forumdisplay.htmforumdisplay_list.htm

這兩個文件都在 \template\default\forum 的目錄下(有修改過discuz模板,以你的主題文件路徑為準,如/template/主題模板文件夾/forum)。

我們要先修改主題分類的:打開forumdisplay.htm的源代碼:

默認主題一般在415行,當然如你的主題有修改過discuz模板,以你的主題文件路徑為準

1.修改forumdisplay.htm文件中
  1. <li><a href="forum.php?mod=forumdisplay&fid=$_G[fid]&filter=typeid&typeid=$id$forumdisplayadd[typeid]{if $_GET['archiveid']}&archiveid={$_GET['archiveid']}{/if}">
復制代碼
修改為:
  1. <li><a href="forumtype-$_G[fid]-$id-$page.html{if $_GET['archiveid']}&archiveid={$_GET['archiveid']}{/if}">
復制代碼
2.接下來再打開forumdisplay_list.htm的源代碼:默認主題一般在162行,如你的主題有修改過模板,以你的主題文件為準找到:
  1. <a href="forum.php?mod=viewthread&tid=$thread[tid]&{if $_GET['archiveid']}archiveid={$_GET['archiveid']}&{/if}extra=$extra"$thread[highlight]{if $thread['isgroup'] == 1 || $thread['forumstick']} target="_blank"{else}{/if} class="s xst">$thread[subject]</a>
復制代碼
修改為:

  1. <a href="forum.php?mod=viewthread&tid=$thread[tid]{if $_G['gp_archiveid']}&archiveid={$_G['gp_archiveid']}{/if}"$thread[highlight]{if $thread['isgroup'] == 1 || $thread['forumstick']} target="_blank"{else}{/if} class="s xst">$thread[subject]</a>
復制代碼
3.主題類別前綴【只顯示文字】,2個地方需要修改
i、打開source\module\forum\forum_forumdisplay.php,查找
  1. forum.php?mod=forumdisplay&fid='.$_G['fid'].'&filter=typeid&typeid='.$thread['typeid'].'
復制代碼
替換為:
  1. forumtype-'.$_G['fid'].'-'.$thread['typeid'].'-1.html
復制代碼
ii、打開模板目錄viewthread.htm,查找
  1. forum.php?mod=forumdisplay&fid=$_G[fid]&filter=typeid&typeid=$_G[forum_thread][typeid]
復制代碼
替換為:
  1. forumtype-$_G[fid]-{$_G[forum_thread][typeid]}-1.html
復制代碼
最后我們要把主題分類的偽靜態規則添加到相應文件中,規則如下
(環境.htaccess,其它請自行測試):
.htaccess 偽靜態規則 請在RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1下面增加:
  1. RewriteCond %{QUERY_STRING} ^(.*)$
  2. RewriteRule ^forumtype-(\w+)-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&filter=typeid&typeid=$2&page=$3&%1
復制代碼
注意:增加的規則不能放最后,特別是不能 不能 不能放在插件規則RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ plugin.php?id=$1 :$2&%1之后,不然訪問分類偽靜態會出現“插件不存在或刪除”的錯誤。
httpd.ini 偽靜態規則

  1. RewriteRule ^(.*)/forumtype-(\w+)-(\w+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=forumdisplay&fid=$2&filter=typeid&typeid=$3&page=$4&$5
復制代碼
web.config 偽靜態規則
  1. <rule name="forum_forumtype">
  2. <match url="^(.*/)*forumtype-(\w+)-(\w+)-([0-9]+).html\?*(.*)[        DISCUZ_CODE_10        ]quot; />
  3. <action type="Rewrite" url="{R:1}/forum.php\?mod=forumdisplay&fid={R:2}&filter=typeid&typeid={R:3}&page={R:4}&{R:5}" />
  4. </rule>
復制代碼



B、分類信息列表內的帖子設置偽靜態方法:
打開 forum/forumdisplay_list.htm 模板,將
  1. <a href="forum.php?mod=viewthread&tid=$thread[tid]&{if $_GET['archiveid']}archiveid={$_GET['archiveid']}&{/if}extra=$extra"$thread[highlight]{if $thread['isgroup'] == 1 || $thread['forumstick']} target="_blank"{else}{/if} class="s xst">$thread[subject]</a>
復制代碼
替換為:
  1. <a href="forum.php?mod=viewthread&tid=$thread[tid]"{$thread[highlight]} {if $thread['isgroup'] == 1 || $thread['forumstick']}target="_blank"{else}onclick="atarget(this)"{/if} class="s xst">$thread[subject]</a>
復制代碼
修改后,當選中分類時,列表中的帖子鏈接將為偽靜態,但帖子的分頁鏈接仍是動態,還需進行以下修改。
打開 source/module/forum/forum_forumdisplay.php 文件,將
  1. <a href="forum.php?mod=viewthread&tid=$realtid&".(!empty($multipate_archive) ? "$multipate_archive&" : '')."extra=$extra&page=$i">
復制代碼
替換為:
  1. <a href="thread-$realtid-$i-1.html">
復制代碼
把下面代碼
  1. <a href="forum.php?mod=viewthread&tid=$realtid&".(!empty($multipate_archive) ? "$multipate_archive&" : '')."extra=$extra&page=$thread[pages]">
復制代碼
替換為:
  1. <a href="thread-$realtid-$thread[pages]-1.html">
復制代碼
這樣,Discuz! X3.4 主題分類和分類信息帖子鏈接都會為偽靜態,有興趣的站長趕緊試試!

感謝大家一直以來對飛吧資源網的支持!http://www.553043.live
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

QQ:2076338| 小黑屋|無圖瀏覽|手機版|飛吧地圖| 飛吧資源網

本帖部分內容轉載自其它媒體,但并不代表本站贊同其觀點和對其真實性負責
如本帖侵犯到任何版權問題,請立即告知本站,本站將及時予與刪除并致以最深的歉意

Copyright © 2011-2020 飛吧資源網 Fb93 (http://www.553043.live) All Rights Reserved.

網站備案信息:( 粵ICP備13002650號-1 )

快速回復 返回頂部 返回列表
安徽快3走势图