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>›</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
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。