返回列表 发新帖

[插件模块] Discuz教程:主题分类伪静态(亲测)apache/nginx

[复制链接]
灌水成绩
800
主题
820
帖子
5293
积分
等级头衔
积分成就
  • 威望: 0
  • 贡献: 4473
  • 金钱: 0
  • 违规:
  • 在线时间:277 小时
  • 注册时间:2019-3-9
  • 最后登录:2019-11-10
个人勋章

官方

联系方式
QQ
发表在  2019-9-30 23:06:29 | 显示全部楼层 | 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
首先准备好修改的模板文件:forumdisplay.htm、forumdisplay_list.htm,这两个文件都在 \template\default\forum 的目录下。

我们要先修改主题分类的:打开forumdisplay.htm的源代码:

默认主题一般在415行,当然如你的主题有修改过discuz模板,以你的主题文件为准

  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}">
复制代码


接下来再打开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}>$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}>$thread[subject]</a>
复制代码


主题类别前缀【只显示文字】,2个地方需要修改

1、打开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
复制代码


2、打开模板目录viewthread.htm,查找

  1. forum.php?mod=forumdisplay&fid=$_G[fid]&filter=typeid&typeid=$_G[forum_thread][typeid]
复制代码


替换为

  1. <font style="background-color:rgb(241, 240, 238)"><font face="" "="">forumtype-$_G[fid]-{$_G[forum_thread][typeid]}-1.html</font></font>
复制代码

最后我们要把主题分类的伪静态规则添加到相应文件中,规则如下(因为环境问题,只测试了.htaccess,其它请自行测试):

nginx伪静态规则:
  1. rewrite ^([^.]*)/forum-([0-9]+).html1/forum.php?gid=$2 last;
复制代码



apache伪静态规则:
  1. RewriteRule ^(.)/forum-(\w+).html(\?(.))*1/forum.php\?gid=2&2&4
复制代码




温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6.添加QQ群随时获取新消息QQ群号:831240632

帖子地址: 

回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表