最近更换了空间,网站首页竟然自动被301重定向到了index.html,而记得在更换空间前并没有这个情况。
网站是dedecms搭建,由于我对dedecms也不怎么了解,因此不知道如何解决这个问题。 我看了下网站的header,显示如下:
HTTP/1.1 301 Moved Permanently
HTTP/1.1 200 OK 我一开始怀疑是空间的问题,查了下同IP的其他网站,没发现有301转向的问题。因此,我猜想是自身网站的某些设置的问题。 后来发现是网站首页设置的顺序问题,把index.html排在第一,不要让index.php排在上面。我登录空间管理后台,将网站默认首页的默认顺序进行了修改,把index.html放在第一个。果真,301问题解决! 检查header,是200了:
HTTP/1.1 200 OK 根源:dedecms的设计问题 为什么默认首页是index.php时,会自动301转向到index.html呢? 我们发现织梦的默认index.php这个文件,看看源代码是怎样写的,你会发现index.php文件里,出现了如下代码:
header('HTTP/1.1 301 Moved Permanently'); 建议:慎用301 如果你也使用dedecms建站,那么请务必设置下网站默认首页,把index.html放在第一个位置,切勿把index.php放在前面,否则会出现301的问题。 301是告诉搜索引擎这个页面永久重定向到其他页面了,这个页面的权重应转移到被转向的页面上。这是使用301的意义所在,但是我觉得有时候这并不可靠,尤其是百度搜索引擎,它似乎不尊重某些约定规则,例如我在robot.stxt上声明了某个目录Disallow,但是还是被其抓取,这让人难以理解。因此,301还是慎用为好。 |