dedecms程序网站首页被301到index.html

原创 janeseo  2014-01-09 23:06  阅读 4,045 views 次

dedecms程序网站首页被301到index.html
   到测速网站去测试网站速度之后,发现总体情况还可以,平均打开时间在3秒内。不过有一点令我不解的是,网站首页竟然自动被301重定向到了index.html,而记得在更换空间前并没有这个情况。

网站是dedecms搭建,由于我对dedecms也不怎么了解,因此不知道如何解决这个问题。

一、为什么网站首页被301重定向到index.html

我看看网站的header,显示如下:

  HTTP/1.1 301 Moved Permanently

  Connection: close

  Date: Mon, 20 Sep 2012 17:41:34 GMT

  Content-Type: text/html

  Location: index.html

  Server: Microsoft-IIS/6.0

  X-Powered-By: ASP.NET

  X-Powered-By: PHP/5.2.17

  HTTP/1.1 200 OK

  Date: Mon, 20 Sep 2012 17:41:34 GMT

  Content-Length: 42514

  Content-Type: text/html

  Content-Location: http://www.abc.com/index.html

  Last-Modified: Thur, 20 Sep 2012 12:44:32 GMT

  Accept-Ranges: bytes

  ETag: "d8b9986528fcd1:11ae11"

  Server: Microsoft-IIS/6.0

  X-Powered-By: ASP.NET

我一开始怀疑是空间的问题,查了下同IP的其他网站,没发现有301转向的问题。因此,我猜想是自身网站的某些设置的问题。

二、dedecms程序网站首页被301到index.html的原因

后来,我咨询空间商,空间商很有经验,他说应该是网站首页设置的顺序问题,把index.html排在第一,不要让index.php排在前面。我登录空间管理后台,按照空间商的说法做了网站默认首页的设置,把index.html放在第一个。果真,301问题解决!

  检查header,是200了:

  HTTP/1.1 200 OK

  Connection: close

  Date: Thur, 20 Sep 2012 17:28:00 GMT

  Server: Microsoft-IIS/6.0

  X-Powered-By: ASP.NET

  X-Powered-By: PHP/5.2.17

  Content-Type:text/html;charset=utf-8

  根源:dedecms的设计问题

虽然问题得以解决,但我对这个问题仍然有点兴趣。为什么默认首页是index.php时,会自动301转向到index.html呢?

我打开index.php这个文件,看看源代码是怎样写的。

原来,真的是代码的问题。在index.php文件里,出现了如下代码:

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

  header('Location:index.html');

  建议:慎用301

阅读此文章的站长,如果你也使用dedecms建站,那么请务必设置下网站默认首页,把index.html放在第一个位置,切勿把index.php放在前面,否则会出现301的问题。

301是告诉搜索引擎这个页面永久重定向到其他页面了,这个页面的权重应转移到被转向的页面上。这是使用301的意义所在,但是我觉得有时候这并不可靠,尤其是百度搜索引擎,它似乎不尊重某些约定规则,例如我在robot.stxt上声明了某个目录Disallow,但是还是被其抓取,这让人难以理解。因此,301还是慎用为好。

三、dedecms程序网站首页被301到index.html的解决方法

dede首页网址自动加上index.html问题解决方法,dede的首页有index.php和index.html,默认的是index.php重定向到index.html,所以访问时,网址后面会加上index.html,比如“http://www.seo1158.com.com/index.html” 去掉这个index.html的办法很简单。

windows主机的解决办法:

将空间或者服务器的默认首页,从index.php优先改为index.html优先,用iis服务器的,只要在空间首页设置里面把 index.html放在index.php前面即可。

linux主机的解决办法:

在站点根目录建立.htaccess文件

然后在里面加这些内容:DirectoryIndex index.html index.htm index.php index.cgi

附录:怎么建立.htaccess文件

先建立.htaccess.txt,然后

打开运行–>输入cmd–>按回车—>进入命令行,将目录定位到.htaccess.txt文件所在的目录,然后输入rename .htaccess.txt .htaccess,敲回车,完成 。

本文地址:http://www.janeseo.cn/seojishu/79.html
关注我们:请关注一下我们的微信公众号:扫描二维码简易SEO建站的公众号,公众号:aiboke112
版权声明:本文为原创文章,版权归 janeseo 所有,欢迎分享本文,转载请保留出处!

发表评论


表情