利用301重定向实现域名补全www
关于域名、顶级域名、二级域名可能很多人存在这样一种误解,带www的才是的顶级域名,或者两者之间并没有差别。而事实上,带www的域名和不带www的绝不是同一个,不带www的域名才是顶级域名,带www的域名应该只是一个二级域名。举个例子,www.35ui.cn≠35ui.cn,而www.35ui.cn和qqq.35ui.cn是一个道理。
只是,用户对此可能没有概念,大家习惯访问的域名都是带www的,于是我们也都习惯使用带有www的域名。
那么不带www的域名怎么办呢?一般有三种情况:
1、和带有www的域名解析到一起。这样可能会造成两个网站的内容两个url的情况,一个带www,另一个不带www,重复的内容不同的域名,这样做对SEO是绝对不利的。
2、利用各种途径将不带www的域名跳转到带www的域名。跳转的方法有很多,这也是本文的意义所在。
3、不解析,不跳转,无法访问。我持有的几个域名和网站曾经一度都是这样。
以下重点说转向,转向可以通过很多方法实现
比如域名解析里自带的跳转,html的<meta http-equiv="refresh" content="5;url=www.35ui.cn">,javascript的location.href='www.35ui.cn',还有各种语言的跳转了,以及下面的301重定向。
301重定向,也称为301转向。它的功能就是告诉搜索引擎,你的网址永久的变换了,从而将原网址的权重全部定向到新的网址上面。以下是不同环境下网站进行301重定向的代码
1、ASP下的301转向代码
<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, “http://35ui.cn/”
%>
3、ASP.Net下的301转向代码
<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(”Location”,”http://35ui.cn/“);
}
</script>
4、PHP下的301转向代码
header(”HTTP/1.1 301 Moved Permanently”);
header(”Location: http://35ui.cn/”);
exit();
5、CGI Perl下的301转向代码
$q = new CGI;
print $q->redirect(”http://35ui.cn/”);
6、JSP下的301转向代码
<%
response.setStatus(301);
response.setHeader( “Location”, “http://35ui.cn/” );
response.setHeader( “Connection”, “close” );
%>
7、Apache下301转向代码
新建.htaccess文件,输入下列内容(需要开启mod_rewrite):
1)将不带WWW的域名转向到带WWW的域名下
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^35ui.cn [NC]
RewriteRule ^(.*)$ http://www.35ui.cn/$1 [L,R=301]
2)重定向到新域名
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://35ui.cn/$1 [L,R=301]
3)使用正则进行301转向,实现伪静态
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+).html$ news.php?id=$1
将news.php?id=123这样的地址转向到news-123.html
原文地址:http://www.35ui.cn/post/20100330680.html 标签:网页设计公司网站栏目策划方案做网站个人北京网页设计培训北京服务器租用北京网页设计公司网页平面设计培训北京网站空间
上一条: Excel 快捷键大全|Excel 常用快捷键大全
下一条: 联系我们