dedecms(织梦系统)的301和安全设置
1、主域与www域之间的跳转问题
2、域访问与默认首页之间的跳转问题
3、页面可以打开但是状态码返回的不是200
上述SEO问题的处理逻辑:
1、通常情况下,网站主要使用www域,而不使用主域(国内网民的访问习惯),考虑到SEO因素,为了避免复制网页问题,一般会将主域做301跳转然后重定向到www二级域,这样搜索引擎就不会收录两个版本的网站首页,也避免了页面权重分流,具体实现方法,可以参考文章“如何实现两个域名内页之间的301跳转"
2、域访问与默认首页之间本不应该存在任何跳转动作。试想一下,如果直接访问网站域名却发生了跳转,无论是301还是302,首页权重都会被降低,这对SEO而言是多么可怕的一件事情,首页低权重,内页也在劫难逃!正确的SEO处理方式是:访问域时,直接返回200。以DedeCMS为例,如果网站的默认首页不是index.html或者index.php优先级高于index.html,当以域方式访问网站首页时,程序默认设置为URL发生301跳转至index.html。
3、用工具全面检测下页面Http状态码,确认页面200。
DeDeCMS解决www域跳转与默认首页跳转问题的方法:
修改根目录下的index.php文件,用以下代码进行替换:
PHP代码
<?php
//主域名301跳转到www
$redirect301=1; //301跳转开关,1代表打开,0代表关闭
$index_file=’index.html’; //指定网站默认首页文件,DeDeCMS设置为index.html,不支持SSI(shtml/shtm)
if(substr($_SERVER[‘SERVER_NAME’],0,4)!=’www.’&&$redirect301) //判断URL中是否带www
{
header(‘HTTP/1.1 301 Moved Permanently’);
header(‘Location:http://www.’.$_SERVER[‘SERVER_NAME’]); //301跳转到www
exit();
//.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^aliweihu.com$ [NC]
RewriteRule ^(.*)$ http://www.aliweihu.com/$1 [R=301,L]
RewriteCond % !^$
RewriteRule uploads/(.*).(php)$ ? [F]
RewriteRule data/(.*).(php)$ ? [F]
RewriteRule templets/(.*).(php)$ ? [F]
</IfModule>