rewrite .* /newURL/ permanent
将所有的请求重定向到/newURL上,permanent参数会使重定向成为永久重定向301,如果不加,就是302临时重定向
第一种情况:把不带www的重定向到带www在网站建好的情况下,我们把这个网址绑定主机头,域名解析到该服务器IP,这时候已经可以访问。有些朋友直接在这个网站上绑定不带www的域名,笔者不建议这样做,这样会给我们的301重定向带来一个麻烦,很可能会使你的重定向陷入死循环、无法打开页面。
首先,我们新建一个网站,绑定的主机头就是不带www的域名,后网站目录下只要随便写一个301.html文件或者xxx.html文件等等,文件内容为空即可。然后我们右键---属性---主目录,选择第三个,重定向到URL,下面填写上你的带www的那个域名。把资源的永久重定向勾选上,确认即可,这样就完成了不带www的域名重定向到带www的域名。这样做并且不会出现死循环等情况。
第二种情况:把www.a.com重定向到www.b.com
这种情况就比较简单,只需在www.a.com上面右键属性---主目录,重定向到url,下面填上www.b.com,再把资源永久重定向勾选上即可。注意,如果你需要把域名后面带的参数都重定向到新的域名,并一一对应,你需要在重定向到的域名后面加上$S$Q,并把上面输入的准确URL勾选上。
顺便解释一下:$S 将请求的URL 的后缀传递给新的URL,而$Q 则将初始URL 中的参数(如 querystring 参数)传递至新的 URL,包括问号(?)。
第三种情况:把www.a.com/index.html重定向到www.b.com
域名后面带上了后缀,这种情况很多人都遇到过,尤其是使用DZ的朋友,经常都会在域名后面自动带上了forum.php等后缀名。虽然说搜索引擎对此没有明确表态说会分散权重,但还是有人实验过这两则之间的细微差别,从另一个方面来说,去掉了后缀,也使域名看起来更加清爽。
其实重定向这种情况和以上两种其实一样简单。
我们只要在IIS上点击我们要做重定向的网站,在右侧选中要做重定向的文件,如index.html,然后右击--属性----文件选中重定向 ,在下面填入具体的网址,然后把永久重定向勾选上即可。
301重定向方案合集asp301,php301,伪静态301,ASP.Net的301,JSP的301,Apache做301
IIS下直接301设置
Internet信息服务管理器 ->虚拟目录 ->重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。
这个需要服务器直接操作,部分空间商不会给做。介于空间管理程序和方法各不相同,例如之后的WEB操作管理 有可能导致301间接失效,所以如果不是自己独立服务器 不建议直接操作。如果是咱们云主机系列,可直接提交工单稍等即可。
条条大路通罗马咱还有其他备用方案:
1、服务器装有isapi-rewirte组件,用户间的伪静态完全独立,互不干涉 使用通用的规则 自定义程度较高,可以直接在原伪静态规则文件httpd.ini 加上301跳转代码,立即生效。
【详解:利用 ISAPI Rewrite 做301永久重定向】
[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32
RewriteEngine On
RewriteCond Host: ^boaer\.com$
RewriteRule (.*) http\://www\.boaer\.com$1 [I,RP]
注:----URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。----
2、ASP下的301转向代码
<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, “http://www.*****/***/301/”
%>
3、转向代码
<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”
Response.AddHeader(”Location”,”http://www.*****.cn/***/301/“)
}
</script>
4、PHP下的301转向代码
header(”HTTP/1.1 301 Moved Permanently”)
header(”Location: http://www.*****.cn/***/301/”)
exit()
5、CGI Perl下的301转向代码
$q = new CGI
print $q->redirect(”http://www.*****.com/”)
6、转向代码
<%
response.setStatus(301)
response.setHeader( “Location”, “http://www.*****.cn/” )
response.setHeader( “Connection”, “close” )
%>
7、转向代码
新建.htaccess文件,输入下列内容(需要开启mod_rewrite):
1)将不带WWW的域名转向到带WWW的域名下
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^lesishu.cn [NC]
RewriteRule ^(.*)$ http://www.*****.cn/$1 [L,R=301]
2)重定向到新域名
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.*****.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
8、Apache下vhosts.conf中配置301转向
为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:
<VirtualHost *:80>
ServerName www.*****.cn
DocumentRoot /home/lesishu
</VirtualHost>
<VirtualHost *:80>
ServerName lesishu.cn
RedirectMatch permanent ^/(.*) http://www.*****.cn/$1
</VirtualHost>
Apache下除了以上2种方法,还有其他配置方法和可选参数,建议阅读Apache文档。
祝:所有站长 网站火火 每天都有好心情!!!
301转向情况检测
http://www.seoconsultants.com/tools/headers.asp
http://www.internetofficer.com/seo-tool/redirect-check/
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)