Discuz如何去除域名后面的/forum.php或portal.php?

文章目录[隐藏]

这里给大家提供二种去除Discuz论坛域名后面的/forum.php或portal.php方法:如下

第一种方法:

打开根目录下的index.php,查找:

if(!empty($url)) {
$delimiter = strrpos($url, '?') ? '&' : '?';
if($_GET['fromuid']) {
$url .= $delimiter.'fromuid='.$_GET['fromuid'];
} elseif($_GET['fromuser']) {
$url .= $delimiter.'fromuser='.$_GET['fromuser'];
}
header("HTTP/1.1 301 Moved Permanently");
header("location: $url");
} else {
require './'.$_ENV['curapp'].'.php';

在前面加上:

$url = '';
$_ENV['curapp'] = 'portal';

备注:如果想设置论坛为默认首页,把代码中的$_ENV['curapp'] = 'portal'; 替换为 $_ENV['curapp'] = 'forum'; 如果想要空间为默认首页:替换为 $_ENV['curapp'] = 'home';

第二种办法:

后台--全局--域名设置--应用域名--设置默认域名为访问域名就可以,如:https://www.duanjingdian.com/。结合设置主导航栏目也可以实现去除Discuz论坛域名后面的/forum.php或portal.php效果。

上面二种方法都可以去掉域名后面的/forum.php或portal.php后缀,可实现seo优化中的URL标准化。

补充:

除了论坛域名后面的/forum.php或portal.php,还有面包屑导航中的forum.php或portal.php,我们也可以去除。方法如下:

打开模版文件discuz.htm,查找以下代码

<div>
<a href="./" title="{lang homepage}">$_G[setting][bbname]</a><em>»</em><a href="forum.php"{if $_G['setting']['forumjump']} id="fjump"{/if}>{$_G[setting][navs][2][navname]}</a>$navigation
</div>

打开模版文件forumdisplay.htm,查找以下代码

<div>
<a href="images/" title="{lang homepage}">$_G[setting][bbname]</a><em>»</em><a href="images/"{if $_G['setting']['forumjump']} id="fjump" {/if}>{$_G[setting][navs][2][navname]}</a>$navigation
</div>

打开模版文件viewthread.htm,查找以下代码

<div>
<a href="./" title="{lang homepage}">$_G[setting][bbname]</a><em>»</em><a href="forum.php"{if $_G['setting']['forumjump']} id="fjump" {/if}>{$_G[setting][navs][2][navname]}</a>$navigation <em>›</em> <a href="forum.php?mod=viewthread&tid=$_G[tid]">$_G[forum_thread][short_subject]</a>
</div>

总结:以上3个文件中查找的代码中把<a href="forum.php">替换成<a href="./">即可。方法有很多,主要还要看大家通过什么方法来实现和完成,多尝试,也许你可以找到更完美的解决方法。更多discuz程序优化方法见:特别系统的论坛网站DZ程序精减优化。

本文摘自网络,不代表短经典网立场 https://www.duanjingdian.com/703.html

上一篇 2024 年 6 月 30 日
下一篇 2024 年 6 月 30 日