找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5650|回复: 0

[知识库] discuzX去除后缀forum.php/portal.php-(亲测有效)

[复制链接]
发表于 2017-4-18 10:43:39 | 显示全部楼层 |阅读模式 来自 中国–河南–南阳
一般论坛在根目录下放置,在后台设置默认域名就可以解决这个问题(http://bbs.piaoxian.net/thread-75730-1-1.html),但是论坛放在二级目录下解决这个问题的时候就会存在一些困难了,那么如何将域名后面的forum.php或portal.php去掉。这里给大家提供一个方法

去掉域名后面的/forum.php或portal.php的方法修改方法一:
打开根目录下的index.php
查找:
  1. if(!empty($url)) {
  2.     $delimiter = strrpos($url, '?') ? '&' : '?';
  3.     if($_GET['fromuid']) {
  4.         $url .= $delimiter.'fromuid='.$_GET['fromuid'];
  5.     } elseif($_GET['fromuser']) {
  6.         $url .= $delimiter.'fromuser='.$_GET['fromuser'];
  7.     }
  8.     header("HTTP/1.1 301 Moved Permanently");
  9.     header("location: $url");
  10. } else {
  11.     require './'.$_ENV['curapp'].'.php';
复制代码
在前面加上:

  1. $url = '';
  2. $_ENV['curapp'] = 'portal';
复制代码
介绍:
如果想设置论坛为默认首页,把代码中的$_ENV['curapp'] = 'portal'; 替换为 $_ENV['curapp'] = 'forum';
如果想要空间为默认首页:替换为 $_ENV['curapp'] = 'home';
去掉域名后面的/forum.php或portal.php的方法二(推荐):
默认首页设置添加forum.php

比如linux主机,修改为如下代码:DirectoryIndex forum.php index.html index.php default.html

如果是虚拟空间,一般在服务器的空间面板都有谁知默认首页的功能,直接添加然后修改下优先级即可。

上面2种方法都可以去掉域名后面的/forum.php或portal.php尾椎,可实现SEO优化中的URL标准化

去掉面包屑导航中的forum.php或portal.php的方法
打开模版文件discuz.htm,查找以下代码
  1. <div class="z">
  2.         <a href="./" class="nvhm" title="{lang homepage}">$_G[setting][bbname]</a><em>&raquo;</em><a href="forum.php"{if $_G['setting']['forumjump']} id="fjump" onmouseover="delayShow(this, 'showForummenu($_G[fid])');" class="showmenu"{/if}>{$_G[setting][navs][2][navname]}</a>$navigation
  3.     </div>
复制代码
打开模版文件forumdisplay.htm,查找以下代码
  1. <div class="z">
  2.         <a href="/bbs/" class="nvhm" title="{lang homepage}">$_G[setting][bbname]</a><em>&raquo;</em><a href="/bbs/"{if $_G['setting']['forumjump']} id="fjump" onmouseover="delayShow(this, 'showForummenu($_G[fid])');" class="showmenu" {/if}>{$_G[setting][navs][2][navname]}</a>$navigation
  3.     </div>
复制代码
打开模版文件viewthread.htm,查找以下代码
  1. <div class="z">
  2.         <a href="./" class="nvhm" title="{lang homepage}">$_G[setting][bbname]</a><em>&raquo;</em><a href="forum.php"{if $_G['setting']['forumjump']} id="fjump" onmouseover="delayShow(this, 'showForummenu($_G[fid])');" class="showmenu" {/if}>{$_G[setting][navs][2][navname]}</a>$navigation <em>&rsaquo;</em> <a href="forum.php?mod=viewthread&tid=$_G[tid]">$_G[forum_thread][short_subject]</a>
  3.     </div>
复制代码
以上3个文件中查找的代码中把<a href=”forum.php”>替换成<a href=”./”>即可。

方法有很多,主要还要看大家通过什么方法来实现和完成,多尝试,也许你可以找到更完美的解决方法。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

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

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-5 13:37 , Processed in 0.037580 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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