Discuz! X2.5 门户首页去掉尾巴portal.php的方法

discuz有门户与论坛之分,但是这二个大件都有自己对应的文件名,门户首页是portal.php论坛首页是forum.php,论坛带有forum.php还说的过去,可是当用户输入网址后一般是门户首页,但是DZ会多个portal.php尾巴很不美观。最重要的是这样会影响SEO效果,百度会降权的。

为什么会自动出现portal.php,这个要从网站的默认文档开始分析了,一般一个网站都有默认文档的,这个文件就是输入网址后自动执行的文件。而DZ里就有个index.php默认文档。因为DZ后台有应用启用功能,不同的设置index.php会执行不同的应用,比如你开启了论坛关闭了门户,那么输入网址会自动跳到forum.php。

之前的DZ版本是可以隐藏portal.php的,而后来的版本不能隐藏。

有二个方法可以实现:

 

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

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

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>&rsaquo;</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设置成/都是一样的。

 

 

posted @ 2013-05-10 11:50  leavesldy  阅读(515)  评论(0编辑  收藏  举报