网页重定向

作者: 呆猫极客 | 来源:发表于2017-03-15 19:50 被阅读0次

下面介绍几种网页重定向的方式。

  • 301重定向

301 重定向也被称为 永久性 重定向,一个网站如果做了 301 重定向,就代表这个网站的全部指标完全转移到了重定向的页面上。

  • 什么情况下要重定向
1.url规范化

打开浏览器用url搜索百度,有的人喜欢用 www.baidu.com 搜索,有的人喜欢用 baidu.com 搜索。虽然俩个域名看上去一样,其实不然,前者是二级域名,后者是一级域名。而且搜索引擎会把俩个域名分别收录,这时就会造成网站的权重分散,这并不是我们想要的结果,这时就得用到 301 重定向。

让我们看看百度是怎么做的,打开浏览器,在地址栏输入:

www.baidu.com

baidu.com

我们会发现都会跳转到:

图1

打开 chrome 自带的调试工具,我们看到,在输入 baidu.com 时,页面被重新定向到 www.baidu.com,这里的 302 为临时性重新定向。

图2
2.当网站更换程序时,需要做 301 重定向。

如果一个网站更换了程序,比如由php更换到asp,如果不做重新定向,搜索引擎中收录的页面就会变成 404 页面。这时应该做一个重定向,从而更新搜索引擎收录的页面。

3.某些页面过期或者链接无效时。

如果这些页面还有访问流量的话,应该做一个重定向。

  • Apache实现301重定向
  • 开启 Apache 重写模块

要想在 Apache 下实现 301 重定向,首先应该开启Apache 的重写模块,在 Apahce 的配置文件 httpd.conf 中找到如下语句:

图3

把前面的注释 # 取消掉。

  • Apache 支持 .htaccess 文件

然后为了让 Apache 支持 .htaccess 文件,在 Apache 的配置文件 httpd.conf 中,找到

<Directory />   
  Options FollowSymLinks    
  AllowOverride None
  Order deny,allow
  Allow from all
</Directory>

把其中的 AllowOverride None 改为 AllowOverride All,然后重启 Apache,在网站的根目录创建 .htaccess 文件。

.htaccess 文件中添加如下语句:

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^baidu.com 
RewriteRule ^(.*)$ http://www.baidu.com/$1 [NC,R=permanent,L]

R代表永久重定向,也可以用 301 或者 302 代替,L代表重写规则终止。NC为忽略大小写

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^www.xxx.com$ http://www.baidu.com [NC,R=301,L] 

这里运用到了正则,可以参考正则的手册。

  • HTML中的<meta>标签

<meta http-equiv=“refresh” content=“10;url=http://www.baidu.com”>

由于搜索引擎可以抓取 HTML 内容,所以这种方式是比较推荐的。标签中 content 属性为延时跳转的时间,一定要注意把延迟时间设定成至少 10 秒以上,不然搜索引擎视为作弊行为。

  • JS的几种跳转方式

  • 地址栏跳转
<script> 
    window.location.href="http://www.baidu.com"; 
    self.location
</script> 
  • 历史记录跳转
<script>
    window.history.back();
    window.history.forward();
    window.history.go();
</script>

搜索引擎是不会抓取 js 源码的,所以要想避免网站权重转移应该采用这种方式 。

  • PHP网页重定向

PHP的网页重定向要使用header函数。

<?php
header("location:http://www.baidu.com");

相关文章

  • Stackoverflow热门问题

    1. JavaScript如何重定向到其他网页 如何使用JavaScript将用户从一个网页重定向到另一个网页? ...

  • 永久性重定向和302临时性重定向

    什么是重定向? 所谓重定向就是将网页自动转向重定向,即:301永久性重定向和302临时性重定向。实施301后,新网...

  • 2019-06-13 重定向301和302

    什么是重定向? 所谓重定向就是将网页自动转向重定向,即:301永久性重定向和302临时性重定向。实施301后,新网...

  • 阿里云 网站301重定向配置方法

    301重定向是一项非常重要的重定向手段,它可以将网页扩展名、网页地址、网站域名等进行重定向,使用户能够访问到你指定...

  • 网页重定向

    下面介绍几种网页重定向的方式。 301重定向 301 重定向也被称为 永久性 重定向,一个网站如果做了 301 重...

  • 关于HTTP重定向

    重定向 重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重...

  • 浅谈PHP跳转页面(重定向)的3种方法

    用户登录功能时往往需要重定向页面,那么在PHP中如何重定向页面?下面本篇文章给大家介绍三种重定向网页跳转页面的方法...

  • 游戏编程之javascript泥巴Mud(四)

    输入输出重定向非常有用,可以重定向到网页上,也可以重定向到网络socket上,其他代码基本上不用改动。 一个简单的...

  • 网站重定向

    简单的说,自动跳转网站与网页都可以重定向可以重定向到其他网站,也可以重定向到本站的其他页面和文件 定向到media...

  • NSURLSession 跨域重定向透传 HTTP Header

    背景 在源网页通过服务器重定向打开某个三方网页,网络层出现了 -1005 (NSURLErrorNetworkCo...

网友评论

    本文标题:网页重定向

    本文链接:https://www.haomeiwen.com/subject/osahnttx.html