dedecms织梦程序首页如何去除indexhtml
有的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’);
可能原因如下:
模板选择不正确或者模板主页为空。
模板主页的地址未设置正确
建议通过浏览器审查元素查看一下具体原因,查看代码有没有正常显示,如果没有那可能就是模板是空文件。
如果实在无法解决,建议付费找人处理。
0条评论