08
2018
09

Discuz!去除域名后面portal.php或者forum.php的解决方法

有人问我Discuz!程序为什么输入域名打开网站后域名后面会出现一个尾巴portal.php 或者 forum.php。

那么Discuz!为什么会出现这两个不同的尾巴呢?最好的解决方法是什么?

分析

这是因为Discuz!后台有应用启用功能,不同的设置index.php会执行不同的应用,比如你开启了论坛关闭了门户,那么输入网址会自动跳到forum.php,又比如论坛和门户都开启了你设置门户为首页那么就会跳转到portal.php。

其实这样的设计我个人觉得对搜索引擎来说是不合理的,使用识别后台设置跳转那么网站返回码就成301状态了,然而对搜索引擎是并不友好,我们需要设置成200才符合常理。

那么有什么办法可以解决Discuz!后面的尾巴呢?

其实网站有很多相关的教程 比如说在空间默认文档中将portal.php 和forun.php 添加进去 这样呢在访问的时候也不会出现尾巴,但是并没有彻底的解决

这里给大家讲两个更详细并能彻底解决的方法

一、修改空间的默认文档

这样输入网址时自动执行portal.php,而网址栏不变。可是网站上还有别的地方还是有index.php的链接。我们应该设置为/,这样会自动的执行默认文档。

设置方法:

1、将后台“界面>>导航>>主导航”中将默认门户取消可用,然后添加一个首页的菜单(链接那里直接输入/)。 

照上面这两步修改后就实现了直接访问域名时不跳转到portal.php了,但还得考虑到门户的其他页面中,在面包屑的位置那里仍然有portal.php存在,所以为了改得彻底些,再按照下面的步骤修改吧:

注意由于大家用的模板不同 修改模板的地址和文件名也不同一般位置就是(template/你用的模板名/portal/)

2、修改模板文件template/default/portal/目录下的list.htm、list_category_onerank.htm、list_category_tworanks.htm、view.htm,三个文件一样的方法: 

查找代码: 

<a href="$_G[setting][navs][1][filename]">{lang

到就近的一个:

<em>&#8250;</em> 

将其删除或将链接地址改为你需要的。

顺便也将含有(有的就改,没有就不管):

<a href="index.php"

这样的代码中的index.php也改为/,要不首页链接就存在文件名了哦。

好了,按照以上几步修改之后,就彻底去掉了门户页中的portal.php文件名了。

方法二

二、修改index.php文件代码

查找代码: 

$url = empty($_ENV['domain']['app']['default']) ? (!empty($_ENV['domain']['defaultindex']) ? $_ENV['domain']['defaultindex'] : 'forum.php') : 'http://'.$_ENV['domain']['app']['default']; 

改为: 

$_ENV['curapp'] = str_replace('.php', '', $_ENV['domain']['defaultindex']); 

方法一与方法二就前面不一样,后面的index.php设置成/都是一样的,当然在修改模板内容的时候你也可以直接将‘/’改成 'http://www.你的域名.com'.

原文链接:https://www.qiquanji.com/post/6987.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。