URL HTTP重定向

URL http重定向是从一个URL到另一个URL的自动URL更改操作。

URL重定向

URL页面重定向是从一个URL到另一个URL的自动URL更改操作。

进行此重定向的原因如下:

  1. 从旧的过时URL重定向到新的更新URL。
  2. 从旧的过时域重定向到新域。
  3. 从非www域名重定向到www域名。
  4. 从短URL名称重定向到长URL名称-URL缩短服务。
  5. URL缩短服务将允许用户插入短URL,并重定向具有实际页面内容的长URL。

用户可以从旧的外部链接或书签访问旧的URL。

由网站的网站管理员添加脚本。

服务器端重定向

服务器端重定向是通过配置Apache / IIS服务器软件或使用PHP / ASP / ASP.NET脚本在服务器中完成的。

这是重定向URL的首选方式,因为您可以返回HTTP 301永久移动状态代码。

搜索引擎使用301状态将页面排名从旧URL转移到新URL。

客户端重定向

客户端重定向是通过使用HTML元刷新标签或Javascript代码在用户的Web浏览器中完成的。

客户端重定向不是首选,因为它不返回HTTP 301状态代码。

在哪里放置重定向代码

域名
名称
托管
服务器
重定向代码
放置
没有改变 没有改变 同一服务器上的旧页面
没有改变 变了 新服务器上的旧页面
变了 没有改变 同一服务器上的旧页面
变了 变了 旧服务器上的旧页面

*仅适用于.htaccess重定向:将重定向代码添加到httpd.conf文件或.htaccess文件。

HTTP状态码

状态码 状态码名称 描述
200 好的 成功的HTTP请求
300 多项选择  
301 永久移动 永久URL重定向
302 找到了 临时URL重定向
303 查看其他  
304 未修改  
305 使用代理服务器  
307 临时重定向  
404 未找到 找不到网址

HTTP 301重定向

HTTP 301已永久移动状态代码表示永久URL重定向。

301重定向是重定向URL的首选方式,因为它会通知搜索引擎该URL已经永久移动,并且搜索引擎应将新的URL页面而不是旧的URL页面放入搜索结果中,然后转移新的URL页面,旧网址页面的页面等级。

301重定向可以跨域或在同一域上完成。

Google建议使用301重定向。

重定向选项

重定向脚本 重定向方 旧页文件类型 重定向URL或域名 旧网址服务器类型 301重定向支持
PHP 服务器端 .php 网址 Apache / Linux 是的
ASP 服务器端 .asp 网址 IIS / Windows 是的
ASP.NET 服务器端 .aspx 网址 IIS / Windows 是的
.htaccess 服务器端 全部 网址/域名 Apache / Linux 是的
IIS 服务器端 全部 网址/域名 IIS / Windows 是的
HTML规范链接标记 客户端 .html 网址 全部 没有
HTML元刷新 客户端 .html 网址 全部 没有
HTML框架 客户端 .html 网址 全部 没有
Java脚本 客户端 .html 网址 全部 没有
jQuery的 客户端 .html 网址 全部 没有

重定向脚本-用于重定向的脚本语言。

重定向端-进行重定向的位置-服务器端客户端

旧页面文件类型-旧URL页面的类型,可以包含重定向代码的脚本语言。

重定向URL或域-不支持单个网页的URL重定向或整个网站的重定向。

典型的旧URL服务器类型-服务器的典型软件和操作系统。

301重定向支持-指示是否可以返回永久301重定向状态响应。

PHP重定向

将重定向代码替换为new-page.php替换old-page.php代码。

old_page.php:

<?php
// PHP permanent URL redirection
header("Location: http://www.mydomain.com/new-page.php", true, 301);
exit();
?/

旧页面必须具有.php文件扩展名。

新页面可以带有任何扩展名。

另请:PHP重定向

Apache .htaccess重定向

.htaccess文件是Apache服务器的本地配置文件。

如果您有权更改httpd.conf文件,则最好在httpd.conf中而不是.htaccess文件中添加Redirect指令。

单一网址重定向

old-page.html永久重定向到new-page.html

.htaccess:

Redirect 301 /old-page.html http://www.mydomain.com/new-page.html

整个域重定向

从所有域页面永久重定向到newdomain.com

 .htaccess文件应位于旧网站的根目录中。

.htaccess:

Redirect 301 / http://www.newdomain.com/

请参阅:.htaccess重定向

ASP重定向

old-page.asp:

<%@ Language="VBScript" %/
<%
' ASP permanent URL redirection
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.mydomain.com/new-page.html"
Response.End
%/

ASP.NET重定向

old-page.aspx:

<script language="C#" runat="server"/
// ASP.net permanent URL redirection
private void Page_Load(object sender, EventArgs e)
{
   Response.Status = "301 Moved Permanently";
   Response.AddHeader("Location","http://www.mydomain.com/new-page.html");
   Response.End();
}
</script/

HTML元刷新重定向

HTML元刷新标记重定向不会返回301永久重定向状态代码,而是被Google视为301重定向。

用您要重定向到的页面的URL的重定向代码替换旧页面。

old-page.html:

<!-- HTML meta refresh URL redirection --/
<html/
<head/
   <meta http-equiv="refresh"
   content="0; url=http://www.mydomain.com/new-page.html"/
</head/
<body>
   <p>The page has moved to:
   <a href="http://www.mydomain.com/new-page.html">this page</a></p>
</body>
</html>

请参阅:HTML重定向

JavaScript重定向

JavaScript重定向不会返回301永久重定向状态代码。

用您要重定向到的页面的URL的重定向代码替换旧页面。

old-page.html:

<html>
<body>
<script type="text/javascript">
    // Javascript URL redirection
    window.location.replace("http://www.mydomain.com/new-page.html");
</script>
</body>
</html>

请参阅:Javascript重定向

jQuery重定向

jQuery重定向实际上是另一种Javascript重定向。

jQuery重定向不返回301永久重定向状态代码。

用您要重定向到的页面的URL的重定向代码替换旧页面。

old-page.html:

<!DOCTYPE html>
<html>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
   // jQuery URL redirection
   $(document).ready( function() {
      url = "http://www.mydomain.com/new-page.html";
      $( location ).attr("href", url);
  });
</script>
</body>
</html>

请参阅:jQuery重定向

HTML规范链接标记重定向

规范链接不会重定向到首选URL,但是对于大多数流量来自搜索引擎的网站,它可以替代URL重定向。

当存在多个内容相似的页面并且您想告诉搜索引擎您希望在搜索结果中使用哪个页面时,可以使用HTML规范链接标记。

规范链接标记可以链接到相同的域,也可以链接到跨域。

将规范链接标记添加到旧页面以链接到新页面。

将规范链接标记添加到您不希望获得搜索引擎流量的页面,以链接到该页面。

规范链接标记应添加在<head>部分中。

old-page.html:

<link rel="canonical" href="http://www.mydomain.com/new-page.html">

请参阅:规范URL链接

HTML框架重定向

在框架重定向中,通过html框架查看new-page.html文件。

这不是真正的URL重定向。

框架重定向对搜索引擎不友好,因此不建议使用。

old-page.html:

<!-- HTML frame redirection -->
<html>
<head>
    <title>Title of new page</title>
</head>
<frameset cols="100%">
    <frame src="http://www.mydomain.com/new-page.html">
    <noframes>
     <a href="http://www.mydomain.com/new-page.html">Link to new page</a>
    </noframes>
</frameset>
</html>

 

301重定向发生器►

 


也可以看看

WEB开发
快速表格