第一种情况,如果你有服务器或者vps,且系统是windows系统的。
在iis下,可以很简单的设置实现全站重定向 。
具体方法是:在VPS里把www.xxxx.com 域名的网站搭建好以后,按照同样的方式搭建一个xxxx.com的网站。然后打开“iis”。在XXXX.com的网站上鼠标右键打开选择属性,选择“主目录”标签,然后按照这个图设置
第二种情况,如果你的系统是Linux的。
做整站301跳转,很简单。如下修改文件httpd.conf或者.htaccess文件保存就可以了:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^xxxx.com [NC]
RewriteRule ^(.*)$ http://www.xxxx.com/$1 [L,R=301]
第三种情况,如果你是虚拟主机用户,如果你有子目录,恭喜你,也可以整站301重定向。具体方法是:
1.新建404.asp,把下面代码放到新建的404文件中保存。
代码
<%@ Language=VBscript %>
<%
Dim PageURL
PageURL=“http://”&Request.ServerVariables("HTTP_HOST")&request.ServerVariables("URL") &"?"&Request.ServerVariables("QUERY_STRING")
PageURL = Replace(PageURL, “http://xxxx.com/404.asp?404"http://xxxx.com:80,"") //修改为你的老域名
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", “http://www.xxxx.com”&PageURL&"" //修改为你的域名
%><%@ language="VBscript">
<%@ language="VBscript">
2.新建index.asp,把下面代码放到新建的ind文件中保存。
代码
<%@ Language=VBscript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.xxxx.com/"//修改为你的域名。
%><%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.xxxx.com/"//修改为你的域名。
%>
3.用ftp在网站根目录新建文件夹名为301,把上面的index.asp和404.asp上传进去。然后打开虚拟主机控制面板,添加子目录,把域名xxxx.com绑定到301文件夹 ,绑定后设置所属404页面为404.asp:
第四种情况,如果你是虚拟主机用户且你没有子目录,缺银子呗,呵呵,也是可以整站301的,具体方法是:
在网站根目录http.ini文件中,添加如下代码:
[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32
了http://m.fulinmenst.com/m/products.aspx?TypeId=69&fid=t3:69:3了
RewriteCond Host:^xxxx\.com$
RewriteRule (.*) http\://www\.xxxx\.com$1 [I,RP)
当301重定向实施完之后,旧版本页面跳转到了新版本页面,或网址规范化了再或者其他的,大部分的站长都不会注意到301的HTTP状态是否返回成功。就在此时,可能有些网站的301重定向不传递状态或者出现404错误的状态码,这样容易造成任何情况下做的301重定向无法达到效果。笔者认为,想要正确的、有效果的做301重定向,一些细节还是需要注意的。
例如:404错误(页面未找到)或者200 OK(页面成功加载)301(返回301状态码成功)
正确的HTTP状态码:
错误的HTTP状态码:
1、IIS下的301设置在Internet信息服务管理器—>虚拟目录—>重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。在IIS中,也可以通过安装ISAPIRewrite组件来实现如Apache中mod_rewrite的功能,详见ISAPIRewrite3下载及常用301规则。2、ASP下的301跳转代码:3、ASP.Net下的301跳转代码:4、PHP下的301跳转代码:header(”HTTP/1.1301MovedPermanently”)header(”Location:106/”)exit()5、CGIPerl下的301跳转代码:$q=newCGIprint$q->redirect(””)6、JSP下的301跳转代码:7、Apache下301跳转代码:新建.htaccess文件,输入下列内容(需要开启mod_rewrite):1)将不带[NC]RewriteRule^(.*)$$1[L,R=301]2)重定向到新域名:Options+FollowSymLinksRewriteEngineonRewriteRule^(.*)$$1[L,R=301]3)使用正则进行301跳转,实现伪静态:Options+FollowSymLinksRewriteEngineonRewriteRule^news-(.+)\.html1将news.php?id=123这样的地址转向到news-123.html8、Apache下vhosts.conf中配置301跳转:为了实现URL规范化,通常将不带RedirectMatchpermanent^/(.*)$1下面是301跳转的俩种方法:1.当a.com跳转到b.com 打开a.com/1.html也跳转到b.com
2.当a.com跳转到b.com 打开a.com/1.html跳转到b.com/1.html
那么,以上那种方法才能更好的让权重传递呢?
肯定是第二个了,因为第二个可以让权重流失降到最低,而不会把所有权重集中到首页,同时对用户搜索的体验有好处,打一个比方,你的旧网站有排名 别人搜索一个词找到了你的网站 链接是a.com/1.html ,但是打开了却跳转到首页b.com 那么你认为他是会悠闲的在你网站继续搜索那个词,还是关掉你的网站进入别的网站呢?
由上得知,第二种方法,不仅在传递权重和用户体验方面都比第一种好!那么黄坤就来讲一下,如何设置301跳转?
下面是黄坤提供的俩种方法:
一.IIS设置方法
打开IIS网站属性找到主目录选择重定向到url,同时选择资源的永久重定向和上面输入准确的url
二:.htaccess设置301跳转
只要在.htaccess文件中输入
RewriteCond %{HTTP_HOST} ^jmdrkj.cn
RewriteRule ^(.*)$ http://www.jmdrkj.cn $1 [R=permanent,L]
上面这串代码就可以了
同时在重定向的url后面加上$S$Q字符
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)