301重定向的两种实现方法

从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,

搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。

同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。

一般来说,有以下两种方法可以实现301重定向。

修改.htaccess文件

代码如下:

RewriteEngine On

RewriteCond %{HTTP_HOST} nowamagic.com$ [NC]

RewriteRule ^(.*)$ http://nowamagic.net/$1 [R=301,L]

RewriteCond %{HTTP_HOST} nowamagic.info$ [NC]

RewriteRule ^(.*)$ http://nowamagic.net/$1 [R=301,L]

关键代码就是2句话:

RewriteCond %{HTTP_HOST} nowamagic.com$ [NC]

RewriteRule ^(.*)$ http://nowamagic.net/$1 [R=301,L]

上面的域名是需要被重定向的旧域名,下面的是现在网站的域名。

使用PHP的重定向代码

新建一个index.php文件,然后参考下面代码按自己的重定向要求做简单修改:

 1 <?php
 2 $the_host = $_SERVER[‘HTTP_HOST‘];//取得进入所输入的域名
 3 $request_uri = isset($_SERVER[‘REQUEST_URI‘]) ? $_SERVER[‘REQUEST_URI‘] : ‘‘;//判断后面的请求部分
 4 if($the_host !== ‘nowamagic.net‘)//nowamagic.net是我现在的域名
 5 {
 6     header(‘HTTP/1.1 301 Moved Permanently‘);//发出301头部
 7     header(‘Location: http://nowamagic.net‘.$request_uri);//跳转到我的新域名地址
 8     exit();
 9 }
10 ?>

注意,最后的exit()函数是一定要写的,我最初就没有写,结果只能重定向首页,像http://www.nowamagic.net/guestbook这样的网页,就无法进行重定向。

最后,关于重定向的一些细节:如果要对三个域名进行重定向,重定向前,首先将这三个域名作为Addon Domain绑定到我的服务器上去,并让这三个域名指向同一个文件夹,这样,只要修改这一个文件夹中的.htaccess文件或者index.php文件就可以了。如果没有.htaccess文件或者index.php文件,新建一个即可。

时间: 2024-12-20 23:28:41

301重定向的两种实现方法的相关文章

Nginx 301重定向设置二种方法

进行了301重定向,把www.sunrisenan.com和sunrisenan.com合并,并把之前的域名也一并合并. 有两种实现方法,第一种方法是判断nginx核心变量host(老版本是http_host): 第一种方法: server { server_name www.sunrisenan.com sunrisenan.com; if ($host != 'www.sunrisenan.com' ) { rewrite ^/(.*)$ http://www.sunrisenan.com/

angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用

今天我们要讲的是ng2的路由系统. 例子 例子是官网的例子,包含一个“危机中心”和“英雄列表”,都在一个app中,通过路由来控制切换视图.还包含了promise的用法,服务的用法等多个知识点. 源代码: https://github.com/lewis617/angular2-tutorial/tree/gh-pages/router 运行方法: 在根目录下运行: http-server 引入库文件设置base href 路由并不在ng2中,需要我们额外引入,另外我们需要设置base href,

基于Apache+Tomcat负载均衡的两种实现方法

Apache+Tomcat实现负载均衡的两种实现方法 如果我们将工作在不同平台的apache能够实现彼此间的高效通信,因此它需要一种底层机制来实现--叫做apr Apr的主要目的就是为了其能够让apache工作在不同的平台上,但在linux上安装apache的时候通常都是默认安装的 [[email protected] ~]#rpm -qi aprName                 :apr                                        Relocation

OGG的Director web hang住的两种解决方法

OGG的Director web hang住的两种解决方法: OGG的Director web hang住的解释:是指web界面能登陆进去,但是看得刷新日期是很久之前的日期,并且该日期不变化. OGG的Director web hang住 的情况之一: 参考如下的mos文章: Director web displaying "Error 500-Internal Server Error". Domain log has Cannot open paging store. (Doc I

git两种合并方法 比较merge和rebase

18:01 2015/11/18git两种合并方法 比较merge和rebase其实很简单,就是合并后每个commit提交的id记录的顺序而已注意:重要的是如果公司用了grrit,grrit不允许用merge,所以好像都是用rebase却别讲解,比如:在服务器上的develop分支有多人在开发,你们同时clone或pull下来最新代码,但是开发进度不一样,你在开发一个任务的时候其他人提交了编号为1,2的commit和push,你现在开发完了也要提交,你的提交编号是3,4(注意:编号不代表顺序现实

Eclipse web工程创建步骤及两种部署方法

1.Eclipse创建web工程步骤 (1)参考1(2)参考2 2.web工程两种部署方法 (1)部署方法同1中所述 (2)部署到Tomcat Server的webapps目录下的方法

JAVA EE 项目经常使用知识 之AJAX技术实现select下拉列表联动的两种使用方法(让你真正理解ajax)

ajax 下拉列表联动的使用方法. ajax的定义: AJAX 是一种用于创建高速动态网页的技术. 通过在后台与server进行少量数据交换,AJAX 能够使网页实现异步更新.这意味着能够在不又一次载入整个网页的情况下,对网页的某部分进行更新. ajax效果的一个样例: 区域为空的时候,维护人情况: 选了一个区域后的情况:(选 舒城县 联带出来的维护人员 小刘) 一.原生态的js实现 XMLHttpRequest 是 AJAX 的基础 XMLHttpRequest 对象 全部现代浏览器均支持 X

MVC4.0中下来列表框的,两种使用方法DropDownList

后台控制器代码 public ActionResult Drop() { var list = new List<SchoolInfo>(); list.Add(new SchoolInfo() { SchoolID = 1, SName = "北京大学" }); list.Add(new SchoolInfo() { SchoolID = 2, SName = "上海大学" }); var model = new UserViewInfo(); mod

uboot学习之二----主Makefile学习之四----两种编译方法:原地编译和单独输出文件夹编译

第57-123行: 57 # 58 # U-boot build supports producing a object files to the separate external 59 # directory. Two use cases are supported: 60 # 61 # 1) Add O= to the make command line 62 # 'make O=/tmp/build all' 63 # 64 # 2) Set environement variable