Discuz X2程序将面包屑导航中的forum.php去掉


Discuz X2搭建论坛非常方便,但是由于Discuz X2程序有两个模块:门户和论坛。如果设置论坛为默认首页的话,那么输入网址不是直接显示论坛内容,而是会自动跳转到/forum.php。

大家知道这样做非常不友好,而且默认首页做跳转,也不利于权重的积累。

所以我将Discuz X2的论坛做了两个修改:

第一,将forum.php设为网站的默认首页,并设为第一顺序。

第二,将网站导航、面包屑导航等里面的forum.php的链接直接去掉,修改成论坛的默认网址。比如我将指向 http://***.com/bbs/forum.php 的链接直接修改成http://***.com/bbs/ 。

首先,修改网站的默认首页为forum.php,这样输入网址就不会自动做跳转了。

修改网站的默认首页方法很简单,我这里就不再赘述了。如果你用的是Linux空间,而且支持.htaccess的话,那么可以直接在.htaccess里添加这样一句:

#默认首页设置

DirectoryIndex forum.php index.html index.php default.html

但是修改之后,有一个问题,那就是Discuz X2论坛个人空间有一个短网址,就是类似于 http://***.com/bbs/?2 这样的网址。所以需要做一个跳转,将个人空间的短网址跳转到个人空间的静态地址 http://***.com/bbs/space-uid-2.html 。

打开forum.php,在找到:

require './source/function/function_forum.php';

在下面添加如下代码:

if(!empty($_SERVER['QUERY_STRING']) && is_numeric($_SERVER['QUERY_STRING'])) {

$uid = $_SERVER['QUERY_STRING'];

$uurl= "http://***.com/bbs/space-uid-".$uid.".html";

header("HTTP/1.1 301 Moved Permanently");

header("location: $uurl");

exit();

}

将”http://***.com/bbs/space-uid-".$uid.".html”替换为自己的个人空间地址就可以了。这样如果输入类似于http://***.com/bbs/?2 这样的网址,就会301跳转到个人空间的静态地址 http://***.com/bbs/space-uid-2.html 。

其次,将面包屑导航中的forum.php去掉。

Discuz的面包屑导航出现在三个地方,帖子页面、帖子列表页和发帖页。它们对应的文件是不同的。

1.主题列表页:找到source\module\forum目录下forum_forumdisplay.php文件,直接在源文件中搜索替换,搜索<a href="forum.php">,修改为论坛的相对地址或者绝对地址,比如我的论坛修改为<a href="/bbs/">或者修改为论坛的绝对地址。

2.帖子页面:找到source\module\forum目录下forum_viewthread.php文件。直接在源文件中搜索替换,搜索<a href="forum.php">,修改为论坛的相对地址或者绝对地址。

3.发帖页面:找到source\module\forum目录下forum_post.php文件,同样在源文件中搜索<a href="forum.php">,将其替换为论坛绝对地址。

这样Discuz X2论坛的默认首页和面包屑导航修改完毕,折腾还在继续……



相关阅读:
如何使页面打开时input就被选中?
dz asp.net论坛中函数--根据Url获得源文件内容
asp的一个日期格式化函数
PHP教程:挖掘细节提升网站性能
Linux系统下超级终端Minicom的使用方法
js之点击 超连接,提示一个层.点击空白.层消失
Oracle备份知识:简单实现逻辑备份
命令行小技巧 使用大括号扩展参数的方法
javascript 屏蔽鼠标键盘的几段代码
SNS网站个性展示技巧:图片幻灯片切换
数据库文件的加载和挂起
比较不错的C#中的常用的正则表达式
HTTP Headers简明易懂的教程
PHP中的递归正则使用说明
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4