dedecms织梦程序首页如何去除indexhtml

dedecms织梦程序首页如何去除indexhtml,第1张

有的Dede默认生成首页后,首页的链接后面会多出一个indexhtml,官方说法这样有利于网站优化。出于不让首页权重分散考虑,同时也是美观考虑,dede首页的indexhtml还是得去掉好。

下面就给大家分享一下如何去掉织梦首页的indexhtml

方法一:

使用htaccess文件目前使用的是这个办法,试验成功。

方法如下:

在根目录的htaccess里加入以下代码:

DirectoryIndex indexhtml indexphp indexhtm

方法二:

在主机里面设置默认首页顺序:把indexhtml提到最前面。

因主机不同,设置方法也不同,大多数空间都是在空间商会员后台可以改动。例如:万网。

方法三:也是最简单行之有效的办法。

找到根目录下的indexphp文件,找到如下内容

//自动生成HTML版

if(isset($_GET['upcache']) || !file_exists('indexhtml'))

{

require_once (dirname(__FILE__) "/include/commonincphp");

require_once DEDEINC"/arcpartviewclassphp";

$GLOBALS['_arclistEnv'] = 'index';

$row = $dsql->GetOne("Select From `dede_homepageset`");

$row['templet'] = MfTemplet($row['templet']);

$pv = new PartView();

$pv->SetTemplet($cfg_basedir $cfg_templets_dir "/" $row['templet']);

$row['showmod'] = isset($row['showmod']) $row['showmod'] : 0;

if ($row['showmod'] == 1)

{

$pv->SaveToHtml(dirname(__FILE__)'/indexhtml');

include(dirname(__FILE__)'/indexhtml');

exit();

} else {

$pv->Display();

exit();

}

}

else

{

header('HTTP/11 301 Moved Permanently');

header('Location:indexhtml');

}

>

把上面一大段替换成下面的这段代码

if(!file_exists(dirname(__FILE__)'/data/commonincphp'))

{

header('Location:install/indexphp');

exit();

}

require_once (dirname(__FILE__) "/include/commonincphp");

require_once DEDEINC"/arcpartviewclassphp";

$GLOBALS['_arclistEnv'] = 'index';

$row = $dsql->GetOne("Select From `dede_homepageset`");

$row['templet'] = MfTemplet($row['templet']);

$pv = new PartView();

$pv->SetTemplet($cfg_basedir $cfg_templets_dir "/" $row['templet']);

$pv->Display();

>

不知道你的问题是不是已经得到了解决。我觉得我来回答很有发言权。因为我前段时间也出现了这样的现象。

你看看你的主页的源代码是不是如下这样的,网站标题、关键词、描述都发生了变化,多了如图所示的代码在网站里面。这个就是病毒代码,但是删除之后,过段时间有出现了这样的情况。那是因为删除只是一时的,并没有解决网站漏洞的根本原因。

其实出现这种现象是网站被“跨站脚本攻击(XSS)”了。具体的跨站脚本攻击(XSS)的意思你百度就知道了,有这个漏洞的百科词条。我用的也是dedecms网站,那么具体解决方法就是防范跨站脚本攻击(XSS)漏洞。只有修复了漏洞,才会不再生成这样的病毒sj代码出来。

1、跨站脚本攻击(XSS)的防范方法,X-Frame-Options头设置,具体方法篇幅比较大,参考百度经验《X-Frame-Options头未设置,如何设置?》

2、跨站脚本攻击(XSS)的防范方法,Cookie没有HttpOnly标志,需要设置HttpOnly,参考百度经验《Cookie没有HttpOnly标志咋办?IIS设置HttpOnly》

3、跨站脚本攻击(XSS)的防范方法,dedecms版本升级,dedecms是免费的开源网站,用的用户多,存在的漏洞也多,要不断的打补丁,升级版本。

把以上三点都做好了,你的网站就不会出现跳转到别人网站去的现象了,因为防范了“跨站脚本攻击(XSS)”,别人就不会攻击你的网站,在你网站里面加病毒代码了。我是一个热爱分享的网站站长,可以关注我,跟我一起进步。

  关于dedecms织梦程序首页如何去除indexhtml有以下三种解决方法

  一、静态访问也分3种解决方法

  1、IIS

  打开IIS点击文档,里面将indexhtml置于indexphp上面,这有什么作用呢其实这样设置就是在网站同时有indexphp和indexhtml的情况下,先访问index,html这样就不会出现跳转的情况

          

  2、Apache

  apache里面DirectoryIndex来控制文件检索优先级的

  DirectoryIndex indexhtml indexphp indexhtm

  和iis一样,将indexhtml往前放

  3、虚拟主机

  把网站默认首页indexhtml放到indexphp前面,这样它自动读到indexhtml就不会跳转了

          

  二、直接动态浏览

  网站动态访问的情况下,程序会删除根目录下面的Indexhtml

,那么会执行include(dirname(__FILE__)。‘/indexhtml’);这段代码,把首页引用而非跳转。

          

  三、把dedecms的indexphp更为以下内容

  GetOne("Select From `#@__homepageset`"); $row['templet'] =

MfTemplet($row['templet']); $pv = new PartView();

$pv->SetTemplet($cfg_basedir $cfg_templets_dir "/" $row['templet']);

$pv->SaveToHtml(dirname(__FILE__)'/indexhtml');

include(dirname(__FILE__)'/indexhtml'); exit(); >

  //自动生成HTML版

  require_once (dirname(__FILE__) "/include/commonincphp");

  require_once DEDEINC"/arcpartviewclassphp";

  $GLOBALS['_arclistEnv'] = 'index';

  $row = $dsql->GetOne("Select From `#@__homepageset`");

  $row['templet'] = MfTemplet($row['templet']);

  $pv = new PartView();

  $pv->SetTemplet($cfg_basedir $cfg_templets_dir "/"

$row['templet']);

  $pv->SaveToHtml(dirname(__FILE__)'/indexhtml');

  include(dirname(__FILE__)'/indexhtml');

  exit();

  >

  其实主要就是把那段301定向代码删除

  header(‘HTTP/11 301 Moved Permanently’);

  header(‘Location:indexhtml’);

可能原因如下:

模板选择不正确或者模板主页为空。

模板主页的地址未设置正确

建议通过浏览器审查元素查看一下具体原因,查看代码有没有正常显示,如果没有那可能就是模板是空文件。

如果实在无法解决,建议付费找人处理。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedecms织梦程序首页如何去除indexhtml

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情