nginx 二级域名(SEO必知)

一、为什么要做301重定向到www?为什么要这么做?这样肯定是有利于SEO的,原因是经常会碰到这样的情况,其他网站链接你的站点时,会用下面的链接:www.xxxx.comxxxx.com而这样导致:你站点主域名的pr值分散到其他几个URLs了。如果你用301重定向把其他三个URL转到www.xxxx.com,PR也就集中在主域名:www.xxxx.com 了。因此,当你的网站有多个域名绑在一个空间时,最好要做301重定向到主域名。二、几种301方式:下面全部讲解几种方式,分别适合不同用户,比如有服务器权限的用户,和虚拟主机用户。(一)nginx修改:方式1:把顶级域名单独配置如下:server { listen 80; server_name xxxx.com; return 301 http://www.xxxx.com$request_uri;}#在server上增加一段server { listen 80; server_name www.xxxx.com; …}方式2:(不推荐这样)并在一起配置:server { listen 80; server_name www.xxxx.com xxxx.com; #放在一起配置 if ($http_host = xxxx.com) { rewrite (.*) http://www.xxxx.com$1; } …}(二)Apache服务器,可修改.htaccess文件:1, 修改httpd.conf文件,确保ReWrite模块开启,并在相应目录支持ReWrite功能:#下面这一行的#号去掉LoadModule rewrite_module modules/mod_rewrite.so#网站目录下的Allowoverride设置设置:AllowOverride all<Directory “….”>…AllowOverride all2, 设置.htaccess文件(需要虚拟主机支持)使访问 xxxx.com/的时候就会自动转到www.xxxx.com在网站根目录的.htaccess文件里写上以下代码即可:RewriteEngine onRewriteCond %{http_host} ^xxxx.com [NC]RewriteRule ^(.*)$ http://www.xxxx.com/$1 [L,R=301]这段代码的意识就是通正则表达式,将直接访问顶级域名的请求,全部转向www二级域名。注意:URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。(三)PHP方法:在代码最开始的地方加入://301跳转$sourceDomain = ‘xxxx.com’ ; //顶级域名$targetDomain = ‘http://www.’.$sourceDomain; //要重定向到这个网址,必须以301开头。if($_SERVER[‘HTTP_HOST’]==$sourceDomain) { if(!empty($_SERVER[“REQUEST_URI”])) $uri301 = strip_tags($_SERVER[“REQUEST_URI”]); #/index.php?m=member&c=message&msgtype=1? else $uri301 = strip_tags($_SERVER[“PHP_SELF”]) . ( !empty($_SERVER[“QUERY_STRING”]) ? “?”.$_SERVER[“QUERY_STRING”] : ”); #/index.php? #if($uri301==”/index.php” || $uri301 ==’/’ ) $uri301=””;//首页清空 $redirect301Url = $targetDomain.$uri301; header(‘HTTP/1.1 301 Moved Permanently’);//发出301头部 header(‘Location:’.$redirect301Url);//跳转到带www的网址 exit;}


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/37193/