【转载】不带www跳转www.设定网站唯一入口,提升权重!

目的:设定网站唯一入口。
描述:请在浏览器访问你的网站,注意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结束! 大家举一反三,自行思考!

转载于:https://www.cnblogs.com/witrays/archive/2012/01/30/2332241.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值