潘多拉星球吧 关注:122贴子:1,965
  • 7回复贴,共1

301重定向代码大全(iis、htaccess、asp、php)

只看楼主收藏回复

首先虚拟空间iis。将不带www的顶级域名301重定向到带www的域名
1.3版的域名重定向:# For ISAPI_Rewrite 1.3 重定向域名RewriteCond Host: ^85850088\.com$RewriteRule (.*) http\://www\.85850088\.com$1 [I,R]这里我们要将85850088.com重定向到 www.85850088.com由于ISAPI Rewrite现在使用较多的有两个版本2.x版跟3.x版那么我们规则就把两个版本的都写出来,3.0版本是不兼容2.0的规则的,只是有提供规则转换器,导入就可以转换了。
# ISAPI_Rewrite 2.x 版本[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32RewriteCond Host: ^85850088\.com$RewriteRule (.*) http\://www\.85850088\.com$1 [I,RP]# ISAPI_Rewrite 3.0 版本[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32RewriteCond %{HTTP:Host} ^85850088\.com$RewriteRule (.*) http\://www\.85850088\.com$1 [NC,R=301]不同域名之间的301转向# ISAPI_Rewrite 2.x 版本[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32RewriteCond %{HTTP:Host} ^fuka\.com\.cn$RewriteRule (.*) http\://www\.85850088\.com$1 [NC,R=301]# ISAPI_Rewrite 3.0 版本[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32RewriteCond %{HTTP:Host} ^www\.fuka\.com\.cn$RewriteRule (.*) http\://www\.85850088\.com$1 [NC,R=301]将页面301重定向到另外一个页面# ISAPI_Rewrite 2.x 版本[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32RewriteRule ^/oldpage.html$ http://www.85850088.com/bibu.html[I,O,RP,L]# ISAPI_Rewrite 3.0 版本[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32RewriteRule ^/oldpage.html$ http://www.85850088.com/bibu.html[NC,L,R=301,O]注意:ISAPI_Rewrite 1.3是现在国内应用得比较多的一个老版本,它可用于url 重写,但并不适合用来实现真正的301重定向功能。建议下载最新的ISAPI_Rewrite 3.0 版本。在 url转发和301转向(重定向跳转)的实现 这篇文章介绍了一段ISAPI_Rewrite 1.3 的重定向代码,这段代码在IIS下对域名重定向虽然能够顺利跳转,但是返回的仍然是302 HTTP header,而不是301 状态码。而且该段代码用于301重定向后,在blog中的其他页面都会跳转到首页。这样设置以后,你的windows iis 也能实现301重定向了,不管是Google 和百度搜索引擎都不会有因为带有www和不带www的域名而产生重复页面问题了。


1楼2011-06-03 22:10回复
    格式问题。 = =、将不带www的顶级域名301重定向到带www的域名
    1.3版的域名重定向:
    # For ISAPI_Rewrite 1.3 重定向域名
    RewriteCond Host: ^85850088\.com$
    RewriteRule (.*) http\://www\.85850088\.com$1 [I,R]
    这里我们要将AFangfa.com重定向到 www.AFangfa.com
    由于ISAPI Rewrite现在使用较多的有两个版本2.x版跟3.x版
    那么我们规则就把两个版本的都写出来,3.0版本是不兼容2.0的规则的,只是有提供规则转换器,导入就可以转换了。
    # ISAPI_Rewrite 2.x 版本
    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteCond Host: ^85850088\.com$
    RewriteRule (.*) http\://www\.85850088\.com$1 [I,RP]
    # ISAPI_Rewrite 3.0 版本
    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteCond %{HTTP:Host} ^85850088\.com$
    RewriteRule (.*) http\://www\.85850088\.com$1 [NC,R=301]
    不同域名之间的301转向
    # ISAPI_Rewrite 2.x 版本
    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteCond %{HTTP:Host} ^isapirewrite\.com$
    RewriteRule (.*) http\://www\.85850088\.com$1 [NC,R=301]
    # ISAPI_Rewrite 3.0 版本
    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteCond %{HTTP:Host} ^www\.isapirewrite\.com$
    RewriteRule (.*) http\://www\.85850088\.com$1 [NC,R=301]
    将页面301重定向到另外一个页面
    # ISAPI_Rewrite 2.x 版本
    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteRule ^/oldpage.html$ http://www.85850088.com/bibu.html[I,O,RP,L]
    # ISAPI_Rewrite 3.0 版本
    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteRule ^/oldpage.html$ http://www.85850088.com/bibu.html[NC,L,R=301,O]
    注意:ISAPI_Rewrite 1.3是现在国内应用得比较多的一个老版本,它可用于url 重写,但并不适合用来实现真正的301重定向功能。建议下载最新的ISAPI_Rewrite 3.0 版本。在 url转发和301转向(重定向跳转)的实现 这篇文章介绍了一段ISAPI_Rewrite 1.3 的重定向代码,这段代码在IIS下对域名重定向虽然能够顺利跳转,但是返回的仍然是302 HTTP header,而不是301 状态码。而且该段代码用于301重定向后,在blog中的其他页面都会跳转到首页。
    这样设置以后,你的windows iis 也能实现301重定向了,不管是Google 和百度搜索引擎都不会有因为带有www和不带www的域名而产生重复页面问题了。
    


    2楼2011-06-03 22:12
    回复
      接着、asp两种方法
      第一种:
      可以使用web.config的方式重定向。代码如下:<configuration> <system.webServer> <rewrite> <rules> <rule name="WWW Redirect" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="^songjiguang.com$" /> </conditions> <action type="Redirect" url="http://www.85850088.com/{R:0}" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer></configuration>保存并上传到网站根目录即可。
      第二种:
      头部添加
      <% Response.Status="301 Moved Permanently" Response.AddHeader "Location","http://www.85850088.com/" '你要转到的地址,实际到具体页面即可 Response.End %>
      


      3楼2011-06-03 22:14
      回复
        php:
        <?php $the_host = $_SERVER['HTTP_HOST'];//取得当前域名 $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面是否有参数 if($the_host != 'www.85850088.com')//把这里的域名换上你想要的 { header('HTTP/1.1 301 Moved Permanently');//发出301头部 header('Location: http://www.85850088.com'.$request_uri);//跳转到你希望的地址格式 } ?>
        


        4楼2011-06-03 22:15
        回复
          IP属地:陕西6楼2011-12-04 13:38
          回复
            后面那不是一个域名啊,需要时间。


            8楼2011-12-09 10:41
            回复
              谢谢你啊


              IP属地:湖北9楼2011-12-27 03:06
              回复
                为什么我的帖子不见了呢


                IP属地:浙江11楼2012-07-10 19:07
                回复