WordPress实现301重定向(跳转)的5种方法

站长们都知道301对SEO的意义,特别是首页有的站长喜欢将带www的地址直接跳转到不带www的域名地址,而又有的站长则喜欢网站地址都带上www。在网站建设过程中,可能由于前期规划不到位,或者后期改版等原因,需要修改网站域名或者链接结构,为了实现良好的SEO,一般都需要设置301重定向。

今天wordpress教程网就与大家分享wordpress中如何去实现301的跳转。

1、使用代码实现

打开根目录下得wp-blog-header.php,在< ?php后面添加如下代码:

if (strtolower($_SERVER['SERVER_NAME']) != 'www.54ux.com')
{
	$URIRedirect=$_SERVER['REQUEST_URI'];
	if(strtolower($URIRedirect)=="/index.php")
	{
		$URIRedirect="/";
	}
	header('HTTP/1.1 301 Moved Permanently');
	header('Location:http://www.54ux.com'.$URIRedirect);
	exit();
}

可以通过检查工具进行查询其状态码,推荐使用站长之家的工具,网址是http://tool.chinaz.com/pagestatus/
本站测试如下:
30154

2、服务器中配置

a、Apache服务器可以修改.htaccess(默认已创建)文件
打开后可看到以下代码:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

添加如下301的配置代码即可:

RewriteEngine on
RewriteCond %{http_host} ^54ux.com [NC]
RewriteRule ^(.*)$ http://www.54ux.com/$1 [L,R=301]

b、nginx添加301配置
在你nginx配置文件中的server模块配置添加如下代码:

server {
	server_name www.54ux.com 54ux.com;
	
	#301配置
	if ($host != 'www.54ux.com') {
		rewrite ^/(.*)$ http://www.54ux.com/$1 permanent;
	}
	
	#其他的配置参数
	...
	
}
3.推荐WordPress 301重定向插件:Redirection

Redirection 是一款功能非常强大的WordPress 301重定向插件,对于更换域名或者修改网站安装目录,修改分类目录等,都可以很方便地进行正确转向。Redirection 本身就包含中文语言包,使用起来应该还是比较方便的。

wpdaxue.com-201303357

Redirection 的主要特点:

  • 支持WordPress、Apache重定向
  • 404 error 监测 – 抓取404 errors页面,让你轻松重定向到新页面,而不致于丢失流量
  • 支持RSS feed 404 errors 重定向
  • 可自定义重定向路径,你可以重定向一个网址到另一页面、文件或网站。
  • 支持整个网站或目录重定向
  • 可创建基于URL、浏览器、推介网址、或注册页面的重定向
  • 当一篇日志URL改变时,可以自动添加301重定向
  • Full regular expression support
  • Fully localized
  • 可以输出重定向到CSV, XML或Apache .htaccess文件
  • 支持输入Apache .htaccess 文件

Redirection 安装使用

1.在后台插件安装界面直接搜索 Redirection 即可在线安装,或者在此下载 Redirection 。

2.启用该插件后,就可以在 工具-Redirection 下进行操作。详细的使用方法,请查看插件介绍页面

4.

一般而言,实现301重定向可以有三种方式,一是网站空间后台支持设置301重定向(这是最方便的一种)。二是根据主机ISAPI_Rewrite版本的不同,配置不同的httpd.ini文件,实现301重定向(主要针对win主机,如果是linux主机,需要配置.htaccess文件)。三是根据网站程序的不同,配置不同的网站程序,实现301重定向,下面主要来介绍第三种方式,php程序实现301重定向的方法:

一、建立一个301.php(文件名自取)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$the_host $_SERVER['HTTP_HOST'];//取得当前域名
$the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分
$the_url strtolower($the_url);//将英文字母转成小写
if($the_url=="/index.php")//判断是不是首页
{
$the_url="";//如果是首页,赋值为空
}
if($the_host !== 'www.icoa.cn')//如果域名不是带www的网址那么进行下面的301跳转
{
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location:http://www.icoa.cn'.$the_url);//跳转到带www的网址
}
?>


其中if($the_host !== 'www.icoa.cn')中的“!==”是不完全等于的意思,也可以用“!=”不等于,这样,除了可以将icoa.cn跳转到带www的网址,还可以把所有绑定到这个空间的域名跳转的www.icoa.cn

因为有朋友留言说首页跳转之后网址里会出现/index.php,于是增加了一个判断是否是首页的语句。

二、在网页文件中调用301.php

1
<?php include("301.php"); //301重定向 ?>


将这个代码放到你所有网页的最前面。

好了,重定向就做好了,将301文件上传到网站目录,就可以去看着你的成果了。

5.

如果仅仅是对某个页面进行301跳转,其实很简单,只要在PHP页面的头部输入下面的代码就可以。

1
2
3
4
<?php
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.icoa.cn");
?>


这个对于更换了网址或者网站结构来说非常方便,但是如果针对很多页面那么这种跳转方式就不友好了,我们应该根据不同的页面跳转的不同的网址。

如果只要对一个域名进行重定向,可以把代码简化成下面的形式: 

复制代码代码如下:

<?php 
$the_host = $_SERVER['HTTP_HOST'];//取得进入所输入的域名 
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断后面的请求部分 
if($the_host !== 'www.zhoushengwei.com')//shengwei.com是我现在的域名 

header('HTTP/1.1 301 Moved Permanently');//发出301头部 
header('Location: http://blog.csdn.net/enweitech'.$request_uri);//跳转到我的新域名地址 
exit(); 

?> 

阅读更多
版权声明:本文为EnweiTech原创文章,未经博主允许不得转载。 https://blog.csdn.net/English0523/article/details/48346323
个人分类: 网站运营
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭