淘主机论坛

 找回密码
 成为淘友

QQ登录

只需一步,快速开始

KT服务器促销中 100M带宽 10T流量 超值传送门:会员注册及发帖规则 发帖看过来
查看: 5032|回复: 5

[代码] 域名所有页面301转向到另一域名相应页面的方法(ASP)

  [复制链接]
发表于 2012-4-24 21:44:34 | 显示全部楼层 |阅读模式
域名301定向可以有效的把无效域名或者旧域名的流量和权重平行转移到新域名,采用代码的方式,就可以同时把原域名的所有子页面链接也进行重定向到新域名对应的页面。

这里介绍下具体的方法!

什么情况需要这样做:

1. 域名被国内和谐了,导致某域名无法访问。有可能Ip是通的但是域名却挂了。
2. 原来的域名需要更换到新的较好的或者较为理想的域名。 站点内容一致,目录结构一致,只有域名不同。

具体代码的思路:

思路很简单,获取当前浏览页面的域名,如果是需要转向的域名,再替换域名部分,做为新地址来301转向。

方法1 ASP代码:
  1. <%
  2. Dim toDomain,fromDomain,curDomain,q,p,url
  3. toDomain=www.taohost.net
  4. fromDomain=www.taohost.org
  5. curDomain=Request.ServerVariables("HTTP_HOST")

  6. if instr(curDomain,fromDomain)>0 then
  7.     q=Request.ServerVariables("QUERY_STRING")
  8.     p=Request.ServerVariables("URL")
  9.     url="http://"&toDomain&p&"?furl=taohost.org"
  10.     if q<>"" then    url=url&"&"&q

  11.     Response.Status="301 Moved Permanently"
  12.     Response.AddHeader "Location",url
  13.     Response.end()
  14. End If
  15. %>
复制代码
特意在url上加了个参数,是为了记录有多少个访问是从这个域名访问的。

将此文件保存成asp文件,包含任一要跳转的ASP页面中即可。

如果需要调用数据库文件,可以直接将保存的文件包含到数据库连接文件中,比如conn.asp!

PHP的方法也类似。

方法2 JS代码 可以嵌入任何htm ASP PHP页面:

  1. <script>  

  2. if(top.location.href.indexOf('www.taohost.net')<0)  

  3. {

  4. location.replace(top.location.href.replace("www.taohost.org","www.taohost.net"))  

  5. }

  6. </script>
复制代码

此代码转向实现同步跳转页面,域名1.ASP转另一个域名1.asp
不确定搜索引擎能不能实现转向新页面301,
不过可以实现,域名跳域名在同一个页面上。不需要要服务器上设置,直接代码实现!

 楼主| 发表于 2012-4-24 21:46:51 | 显示全部楼层
延伸阅读:

[教程] Html静态页面实现网页转向链接的方法
http://bbs.taohost.net/thread-10-1-1.html

[教程] PHP重定向(转向)到另一页面的方法
http://bbs.taohost.net/thread-10-1-1.html

[介绍] Godaddy的域名转向被国内封掉的问题 解决方法
http://bbs.taohost.net/thread-183-1-1.html
 楼主| 发表于 2012-4-24 21:49:29 | 显示全部楼层
使用rewrite规则的方法参考:

RewriteCond %{HTTP_HOST} ^www.aaa.com$
RewriteRule ^(.*)$ www.bbb.com/$1 [R=301,L]
 楼主| 发表于 2012-4-24 21:53:53 | 显示全部楼层

301重定向旧域名网页转到新页面 类似 原域名1.asp到新域名1.

各大搜索引擎网站上使用欺骗性重定向或点的多个领域,没有使用适当的重定向到相同的内容是打击。 301重定向被称为是一个搜索引擎友好的重定向时需要。

创建了301永久重定向htaccess文件的要求,您的网站是托管在Apache(Linux,Unix系统)的服务器。如果你不确定,一个简单的头检查将显示您的服务器类型。如果您不能确定您了解服务器的头检查提供的信息,请联系您的虚拟主机援助。

以下基本301永久重定向教程将引导您一步一步来,通过建立你的第一个。htaccess文件,并加入适当的编码,重定向基础知识。

创建.htaccess文件

- 右键单击​​桌面的空白区域
- 选择:新建 > 文本文档

见屏幕快照

6605893879_a7416b70a5.jpg

- 打开新的文本文档
- 从菜单中选择:文件>另存为.htaccess文件名类型
- 点击“保存”按钮。

6605893915_6be13401ef.jpg

现在您应该看到您的桌面上不显示一个文件名的新文件。

添加301永久重定向代码

如果你想重定向整个网站的所有页面到另一个域的主要页面,下面的代码添加到该文件,在一行上。

RedirectMatch 301 (.*) http://www.taohost.net/

确保将更改保存到该文件。现在.htaccess文件上传到相同的位置,您上传的索引页,您重定向到您的旧域。

如果你想一个页面重定向到另一个页面,添加下面的代码文件,在单行。

redirect 301 /old-file-name.htm http://www.taohost.net/new-file-name.htm

确保将更改保存到该文件。现在.htaccess文件上传到相同的位置上传到您的网站索引页。如果旧的页面是在不同的目录作为你的索引页(文件夹),那么你就需要相应地调整了旧文件名的路径。

例如,如果旧文件名命名类别目录内位于,你的代码如下:

redirect 301 /category/old-file-name.htm http://www.taohost.net/new-file-name.htm

如果旧的页面是在不同的目录(文件夹)作为你的索引页,你也想在同一目录内的新的一页,那么你就需要相应调整旧的和新的文件名的路径。

例如,如果旧文件名是位于名为A类目录内,新的一页也将,你的代码如下:

redirect 301 /category/old-file-name.htm http://www.taohost.net/category/new-file-name.htm

再次,一定要保存对文件的更改,并上传到您上传的老位置的索引页的相同位置。

上面的代码输入到您的域名和文件名信息!

这是一个非常基本的教程创建.htaccess文件中添加一个非常简单的301永久重定向页面或网站。对于高级教程和代码,考虑下面的文章:

一旦你已经完成上传新的.htaccess文件,当务之急是要您确认一切正常。

尝试旧的URL,并确认你正在重定向到正确的页面。您还需要验证您的服务器是这个重定向返回适当的信息(301常驻),通过做旧的网页或域的头检查。

除非你已经不是建立您的网站上使用它,我建议坚持与WWW。

要告诉我们是哪个版本,你想要检索的内容,我们建议您做一个301重定向到其他从一个版本。如果您的网站在Apache服务器上运行,你可以这样做.htaccess文件。您还可以使用脚本。

这应该做的,甚至当您的服务器设置为两种方式显示您的网站。这可以防止一些(规范)的问题发生,当有人(包括自己)意外使用您所使用的对面的链接和索引作为。

这是我使用的代码。我相信还有其他。这简直是​​我在Linux(APACHE)的服务器使用。确保替换为自己的通用域名信息。

重定向taohost.net以www.taohost.net

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^yiyada.com$ [NC]
RewriteRule ^(.*)$ http://www.taohost.net/$1 [R=301,L]

要重定向www.taohost.net到taohost.net

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.taohost.net$ [NC]
RewriteRule ^(.*)$ http://taohost.net/$1 [R=301,L]

一旦你已经完成了变化,确认一切正常,并进行检查,以确认一个头一个301返回不正确的版本。

如果出于任何原因,上面的代码不起作用,删除htaccess文件,并请求援助,从您的网站建设公司易雅达。
 楼主| 发表于 2012-10-29 23:13:29 | 显示全部楼层

wordpress如何设置301重定向

关于网站为什么要做301重定向,前面的文章中已经多次提到过,今天特别来介绍一下wordpress如何设置301重定向。而根据自己网站空间的服务器操作系统的不同,就得使用不同的方式去设置。

  Windows平台下wordpres如何实现301重定向,有两种解决方案可供选择:

  一、利用wordpress的插件功能实现301重定向

  使用 WordPress 名为 “Dean’s Permalinks Migration” 的插件就很好的帮我解决了301重定向的问题,使用方法非常简单。这里要强烈推荐一些新手使用。具体操作步骤如下:

  ①下载→上传至wp-content\plugins目录→到 WordPress 后台激活;

  ②设置→PermalinksMigration→输入原来的永久链接形式(我的就是/%category%/%postname%.html),保存;

  ③设置→永久链接→选择永久链接形式(我的就是/archives/%post_id%);

  ④为了保证分类、标签(tag)的网址不变,在分类基础中填写/category,在标签基础中填写/tag。【此项可选】

  我们在经过上面的几个步骤的设置后,Googlebot 将可以很快辨别出301重定向,并重新索引更新网址。当然,Googlebot 重新索引也需要时间,Blogger 可以通过 SiteMap.xml 通知 Googlebot。

  二、使用程序进行设置实现301重定向

  这种办法不适宜新手使用,因为牵扯到的东西稍微要多一点,具体的操作如下:

  登陆到网站后台,或者使用FTP,也或者控制面板,找到header.php文件,然后在<?php后面添加下面的红色代码:
  1. if (strtolower($_SERVER['SERVER_NAME'])!=’***.com’)
  2.     {
  3.     $URIRedirect=$_SERVER['REQUEST_URI'];
  4.     if(strtolower($URIRedirect)==”/index.php”)
  5.     {
  6.     $URIRedirect=”/”;
  7.     }
  8.     header(‘HTTP/1.1 301 Moved Permanently’);
  9.     header(‘Location:http://***.com’.$URIRedirect);
  10.     exit();
  11.     }
复制代码
在Linux主机状态如何实现301重定向?

  而linux服务器主机的话,相对来说就较为简单一些,如果你使用的是Linux主机,那么在设置固定连接的时候,wordpress后台会体现添加以下蓝色函数到.htaccess文件。
  1. <IfModule mod_rewrite.c>
  2.     RewriteEngine On
  3.     RewriteBase /
  4.     RewriteRule ^index\.php$ – [L]
  5.     RewriteCond %{REQUEST_FILENAME} !-f
  6.     RewriteCond %{REQUEST_FILENAME} !-d
  7.     RewriteRule . /index.php [L]
  8.     </IfModule>
复制代码
添加上面的代码后就能够实现网站的301重定向了,代码如下(后面是重定向后的网址,记得修改成你自己的网址):
  1. RewriteEngine on

  2.   RewriteCond %{http_host} ^www.***.com [NC]

  3.   RewriteRule ^(.*)$ http://***.com/$1 [L,R=301]
复制代码
最后我们把.htaccess文件上传到网站的根目录就可以了,需要注意的问题是.htaccess文件在本地需修改成TXT格式,上传到根目录后重命名为.htaccess就可以了。
您需要登录后才可以回帖 登录 | 成为淘友

本版积分规则

小黑屋|手机版|Archiver|淘主机

GMT+8, 2024-4-26 21:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表