彻底解决Discuz X2论坛域名自动跳转到forum.php

史鹏云
2023-12-01
首先声明:这是一篇去除discuz论坛中forum.php尾巴最全的方法,之前也看到过类似的文章,但按照步骤操作后,大家会发现还有很多地方没有去掉forum.php尾巴。这样不利于网站seo。今天,为大家整理了最完美的去除forum.php尾巴的方法。
在操作之前,我们先来看一下discuz论坛含有forum.php尾巴的地方:
(1)主导航中的论坛按钮

(2)论坛首页的面包屑导航位置
(3)分区版块的面包屑导航位置
(4)主题列表页的面包屑导航位置
(5)主题内容页的面包屑导航位置

(6)发新主题页面包屑导航位置
(7)主题列表页的2个返回按钮
(8)archiver/的首页

(9)输入域名默认跳转到带有www.域名.com/forum.php



既然知道了,discuz论坛都是那些地方含有forum.php,接下来就按照以下步骤来逐一去除
(1)在后台设置域名

这步设置之后,主导航中的论坛按钮就去掉了forum.php尾巴
(2)在template\default\forum中找到discuz.htm,大约在第19行的位置,
把<a href="forum.php">修改为:<a href="http://$_G['setting']['domain']['app']['forum']/">
这样,首页和分区版块的面包屑导航中的forum.php就去掉了。
(3)在/source/module/forum/中
forum_forumdisplay.php,第65、67、74、76行:把<a href="forum.php">修改为:<a href="./"> (去除主题列表页面包屑导航位置的forum.php尾巴)
forum_viewthread.php,第107行:把<a href="forum.php">修改为:<a href="./"> (去除主题内容页面包屑导航位置的forum.php尾巴)
forum_post.php,第111行:把<a href="forum.php">修改为:<a href="./">(去除主题发心主题面包屑导航位置的forum.php尾巴)
forum_misc.php,第394、398行:把<a href="forum.php">修改为:<a href="./"> (这个应该是手机版的)
(4)/template/default/forum/ 中
forumdisplay.htm,第159行:把<a href="forum.php">修改为:<a href="http://$_G['setting']['domain']['app']['forum']/"> (去除主题列表页上方的那个返回按钮中的forum.php尾巴)
forumdisplay_list.htm, 第 332行:把<a href=”forum.php”>修改为:<a href=http://$_G['setting']['domain']['app']['forum']/> (去除主题列表页下方分页导航前面的那个返回按钮中的forum.php尾巴)
(5)在/source/archiver/forum/中
discuz.php的第24行,把<a href="../forum.php" target="_blank">修改为<a href="../" target="_blank">
(6)设置301重定向
RewriteEngine on
RewriteCond %{http_host} ^(.+)\.域名com [NC]
RewriteRule ^(.*)$ http://www.域名.com/ [L,R=301]

RewriteRule ^(.*)\/forum.php$ http://www.域名.com/ [L,R=301]



通过以上六部操作,就可以完美的去掉disciz论坛中forum.php的尾巴了。这样做的目的是为了让网站URL标准化,有利于网站优化。
 类似资料: