目的:设定网站唯一入口。
描述:请在浏览器访问你的网站,注意url头是否带 www,例:www.59dd.com 或不带www,例:59dd.com 。检测两种入口是否能顺利打开网站。
问题:如果两种url同时可以打开网站,那么对于搜索引擎,会收录两个不同的url但页面相同的页面。
影响:1.搜索会判定相同的页面为相似页面,便会去删除其一并连带惩罚。
2.页面权重分散,由于多了一半相似页面,权重也会被分割。
解决方法:
NO1:nginx规则
if ($host !~* ^www\.59dd\.com$) {rewrite ^(.*)$ http://www.59dd.com$1 permanent;
}
这也可以
server {
server_name 59dd.com;
rewrite ^(.*) http://www.59dd.com$1 permanent;
}
NO2: 如果网页是asp或者php动态类,而又非阿帕奇,无法简单方便使用301定向,那么我们就这样操作。(下以ecshop为例)
1.建立Php文件,命名为cls_301.php,修改里面两处网址为自己的网址,保存并上传到includes目录下。
cls_301.php代码如下
<?php /*** ECSHOP 301跳转类* ============================================================================* QQ:8996111* ============================================================================* $Author: anyfans $* $Id: cls_301.php $
*/$the_host = $_SERVER['HTTP_HOST'];
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
if($the_host !== 'www.enqifushi.com')
{header('HTTP/1.1 301 Moved Permanently'); header('Location: http://www.enqifushi.com'.$request_uri);
}
?>
2.修改includes/init.php
大概在79行,增加
require(ROOT_PATH . 'includes/cls_301.php');
增加后效果:
define('PHP_SELF', $php_self);require(ROOT_PATH . 'includes/cls_301.php');
require(ROOT_PATH . 'includes/inc_c**tant.php');
require(ROOT_PATH . 'includes/cls_ecshop.php');
上传并覆盖,测试各页面无www的url是否正确跳转到www网址。
后续:对于没有解析的,就是无www访问的朋友,考虑用户体验,建议也做此类设定。
演示效果:
http://enqifushi.com/
http://enqifushi.com/goods-3876.html
上述NO2方法转载ecshop论坛会员l0ss帖子:【一分钟SEO支招】设定网站唯一入口,提升收录!受众率:99%
原文地址http://bbs.ecshop.com/viewthread.php?tid=149301
NO3。因为我还有个网址导航站www.59dd.com ,是生成的静态页面,想直接套用方法2,分析根目录下的init.php文件,有这段
// 初始化
require PATH_ADMIN . '/applications/app_init.php';
?>
于是就在app_init.php里 // 加载常量下增加
require PATH_APPLICATION . '/cls_301.php';
这个方法应该也是可行的,不知道是不是要在生成html静态页函数里面增加什么,没有研究,因为我的是阿帕奇!所以此方法绕过,可以直接在
Apache服务器实现301重定向,相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301重定向只是其中之一。
使访问59dd.com/的时候就会自动转到www.59dd.com/
在.htaccess文件里写上以下代码即可。
RewriteEngine on
RewriteCond %{http_host} ^59dd.com [NC]
RewriteRule ^(.*)$ http://www.59dd.com/$1 [L,R=301]
即可解决访问不带www.的所有页面跳转到带www.的链接!
演示效果:
http://59dd.com/
http://59dd.com/music/index.htm
OK结束! 大家举一反三,自行思考!