天使网赚论坛

 找回密码
 立即注册
查看: 867|回复: 0

Discuz! X3分区版块伪静态设置完美解决方案

  [复制链接]

450

主题

497

帖子

10万

积分

管理员

天使社区欢迎您的光临

Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50

积分
101871

终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖金点子奖原创先锋奖贴图大师奖灌水天才奖新人进步奖幽默大师奖

QQ
admin 发表于 2018-4-13 21:08:13 | 显示全部楼层 |阅读模式

Discuz! X3.2后台的SEO设置里开启URL 静态化后发现论坛版块和帖子内容页面都成功伪静态了,但是但是论坛版块上层分区还是“forum.php?gid=”这样的动态URL。原来Discuz默认是不支持也无法通过后台设置分区伪静态的,这也算是DZ的一个小BUG吧。不过想要实现论坛分区伪静态也不是没有办法,那就是修改源文件了,下面详细记录下Discuz! X3.2 分区版块伪静态设置方法。

1、添加DZ分区伪静态规则,而不同服务器的伪静态规则写法是不一样的,比如我希望以forum-gid.html的url形式访问分区:

Nginx服务器Discuz分区伪静态规则

  1. rewrite ^([^\.]*)/forum-([0-9]+)\.html$ $1/forum.php?gid=$2 last;
复制代码

apache服务器Discuz分区伪静态规则


  1. RewriteRule ^(.*)/forum-(\w+)\.html(\?(.*))*$ $1/forum\.php\?gid=$2&$4
复制代码

注意这条伪静态规则必须放在插件伪静态规则的上面,否者或出现"插件不存在或已关闭" 的错误信息提示,伪静态设置成功后我们就可以通过forum-1.htm这样url访问论坛分区了。

2、修改模板文件,以默认模板风格default为例。

游客,如果您要查看本帖隐藏内容请回复

  1. <h2><a href="{if !empty($caturl)}$caturl{else}forum.php?gid=$cat[fid] {/if}" style="{if $cat[extra][namecolor]}color: {$cat[extra][namecolor]};{/if}">$cat[name</a></h2>
复制代码

将里面

  1. forum.php?gid=$cat[fid]
复制代码

替换为

  1. forum-$cat[fid].html
复制代码

网上很多教程方法都是到这一步就结束了,但是其实这样并没有完美解决Discuz!分区版块伪静态的问题,因为这样伪静态后面包屑导航处的分区链接还是动态,彻底解决这个问题还需进行下一步修改。

游客,如果您要查看本帖隐藏内容请回复

版块页面包屑导航分区链接修改

游客,如果您要查看本帖隐藏内容请回复

  1. Location: forum.php?gid=$_G[fid]
复制代码

替换为

  1. Location: forum-$_G[fid].html
复制代码

  1. forum.php?gid='.$forum_up['fid'].'
复制代码

替换为

  1. forum-'.$forum_up['fid'].'.html
复制代码

  1. forum.php?gid='.$forum_top['fid'].'
复制代码

替换为

  1. forum-'.$forum_top['fid'].'.html
复制代码

帖子页面包屑导航分区链接修改

游客,如果您要查看本帖隐藏内容请回复

  1. ? 'forum.php?gid='.$fup :
复制代码

替换为

  1. ? 'forum-'.$fup.'.html' :
复制代码

(共两处)

发帖页面包屑导航分区链接修改

游客,如果您要查看本帖隐藏内容请回复

  1. ? 'forum.php?gid='.$fup :
复制代码

替换为

  1. ? 'forum-'.$fup.'.html' :
复制代码

(共两处)

完成以上步骤后论坛全部页面的分区链接都实现了完美伪静态。

注:分区伪静态方法本人已在Discuz X3.3下测试可用,Discuz其他版本应该也一样有效,如果没有效果请告诉我您使用的是哪个版本的DZ程序,以便我修正该教程文章。


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

本版积分规则

天使网赚论坛创建于2008年8月,本站内容均为会员发表,并不代表本论坛立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
天使网赚论坛法律顾问:ITlaw-庄毅雄

QQ|小黑屋|Archiver|天使网赚论坛 |网站地图

GMT+8, 2024-4-26 03:09 , Processed in 0.092539 second(s), 27 queries .

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