首先声明:这是一篇去除 discuz 论坛中 forum.php 尾巴最全的方法,之前也看到过类似的文章,但按照步骤操作后,大家会发现还有很多地方没有去掉 forum.php 尾巴。这样不利于网站 seo 。今天,为大家整理了最完美的去除 forum.php 尾巴的方法。

在操作之前,我们先来看一下 discuz 论坛含有 forum.php 尾巴的地方:

(1) 主导航中的论坛按钮

主导航论坛按钮

(2) 论坛首页的面包屑导航位置

(3) 分区版块的面包屑导航位置

(4) 主题列表页的面包屑导航位置

(5) 主题内容页的面包屑导航位置

面包屑导航

(6) 发新主题页面包屑导航位置

(7) 主题列表页的 2 个返回按钮

主题内容页两个返回按钮

(8)archiver/的首页

acchiver首页

(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 标准化,有利于网站优化。