【站哈学院】Discuz! X3.4主题分类与分类信息的伪静态配置方法(站长亲测)

作者 : 轩寒 本文共3456个字,预计阅读时间需要9分钟 发布时间: 2022-06-14 共176人阅读
也想出现在这里? 联系我们

Discuz网在版块添加主题分类或者分类信息后,discuz默认主题分类和分类信息的url为动态,而且还特别的长不美观。所以我们要把他们的地址做伪静态,不仅美观而且还给网站优化加分。网上搜到的教程80%都是不完善、残缺或者是各种的不兼容,根本就没法用。通过多次测试和搜集整理出来一套非常全面的教程。

主题分类伪静态设置方法
准备好修改的模板文件:forumdisplay.htm和forumdisplay_list.htm
这两个文件都在 templatedefaultforum 的目录下(有修改过discuz模板,以你的主题文件路径为准,如/template/主题模板文件夹/forum)。
我们要先修改主题分类的:打开forumdisplay.htm的源代码
默认主题一般在415行,如果你的主题有修改过discuz模板,就以你的主题文件路径为准!
1.修改forumdisplay.htm文件,搜索
<font size="2"><li><a href="forum.php?mo</font>d=forumdisplay&fid=$_G[fid]&filter=typeid&typeid=$id$forumdisplayadd[typeid]{if%20$_GET['archiveid']}&archiveid={$_GET['archiveid']}{/if}">

替换为

<li><a href=”forumtype-$_G[fid]-$id-$page.html{if%20$_GET[‘archiveid’]}&archiveid={$_GET[‘archiveid’]}{/if}”>
2.接下来再打开forumdisplay_list.htm的源代码:默认主题一般在162行,如你的主题有修改过模板,以你的主题文件为准找到,搜索:
<a href=”forum.php?mod=viewthread&tid=$thread[tid]{if%20$_G[‘gp_archiveid’]}&archiveid={$_G[‘gp_archiveid’]}{/if}”$thread[highlight]{if $thread[‘isgroup’] == 1 || $thread[‘forumstick’]} target=”_blank”{else} onclick=”atarget(this)”{/if} class=”s xst”>$thread[subject]</a>

3、主题类别前缀【只显示文字】,2个地方需要修改
1).打开sourcemoduleforumforum_forumdisplay.php,搜索

forum.php?mod=forumdisplay&fid=’.$_G[‘fid’].’&filter=typeid&typeid=’.$thread[‘typeid’].’

修改为:

forumtype-‘.$_G[‘fid’].’-‘.$thread[‘typeid’].’-1.html

2).打开模板目录templatedefaultviewthread.htm, 如果你用别的模板,就以你的模板路径为准!部分模板需要替换2条,不要遗漏。
搜索

forum.php?mod=forumdisplay&fid=$_G[fid]&filter=typeid&typeid=$_G[forum_thread][typeid]

修改为:

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下面增加:

RewriteCond %{QUERY_STRING} ^(.*)$
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 伪静态规则

RewriteRule ^(.*)/forumtype-(w+)-(w+)-([0-9]+).html(?(.*))*$ $1/forum.php?mod=forumdisplay&fid=$2&filter=typeid&typeid=$3&page=$4&$5

web.config 伪静态规则

<rule name=”forum_forumtype”>
<match url=”^(.*/)*forumtype-(w+)-(w+)-([0-9]+).html?*(.*)[ DISCUZ_CODE_2 ]quot; />
<action type=”Rewrite” url=”{R:1}/forum.php?mod=forumdisplay&fid={R:2}&filter=typeid&typeid={R:3}&page={R:4}&{R:5}” />
</rule>
分类信息列表内的帖子设置伪静态方法:

打开 forum/forumdisplay_list.htm 模板,搜索

<font color="rgb(155, 155, 155)"><font style="background-color:rgb(255, 255, 255)"><font face="Lato, sans-serif"><blockquote><div align="left"><a href=”forum.php?mod=viewthread&tid=$thread[tid]&{if%20$_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></div>

修改为:

<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 文件,搜索

<a href=”forum.php?mod=viewthread&tid=$realtid&”.(!empty($multipate_archive) ? “$multipate_archive&” : ”).”extra=$extra&page=$i”>

替换为:

<a href=”thread-$realtid-$i-1.html”>
接着再搜索

<a href=”forum.php?mod=viewthread&tid=$realtid&”.(!empty($multipate_archive) ? “$multipate_archive&” : ”).”extra=$extra&page=$thread[pages]”>

替换为:

<a href=”thread-$realtid-$thread[pages]-1.html”>

OK!教程结束!到这一步你的Discuz! 分类信息帖子和主题分类的链接都是伪静态了,需要修改的站长可以去试试了,修改前记得提前备份。

版权免责声明

① 本站VIP源码资源永久免费下载 www.wayu.cn;
② 本网站资源来源于网络收集,如有侵权,请联系站长进行删除处理;
③ 分享目的仅供大家学习和交流,请不要用于商业用途,否则后果自负;
④ 如果你有源码需要出售,可以联系小编,或者点击 投稿
⑤ 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解;
⑥ 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需;
⑦ 在您的能力范围内,为了大环境的良性发展,请尽可能的选择正版资源;
⑧ 网站资源不做任何二次加密和授权后门(原版加密除外)。


站哈源码网 » 【站哈学院】Discuz! X3.4主题分类与分类信息的伪静态配置方法(站长亲测)

发表评论

Copyright© 2022 by-站哈源码网 & 站内部分资源收集于网络,若侵犯了您的合法权益,请联系站长删除!
在 0.550 秒钟有 46 次查询。