apache下实现301永久性重定向的方法

因为博客是使用了www.php100.com作为博客域名,所以想实现php100.com全部重定向(跳转)到www.php100.com。同时按照google的建议,使用服务器端 301 重定向,为了确保用户及搜索引擎定向至正确网页的最佳方法。301 状态代码表示某网页已被永久迁移至新位置。下面将了解一下apache下实现301永久性重定向2个方法,需要具有访问服务器的 .htaccess 文件的权限。

1. Apache模块 mod_alias的 Redirect 和 RedirectMatch命令

上面提到2个命令使用方法相似。而区别就是后者RedirectMatch基于正则表达式匹配对当前的URL发送一个外部重定向语法为:

Redirect [status] URL-path URL

RedirectMatch [status] regex URL

status参数可以使用以下HTTP状态码:

permanent

返回一个永久性重定向状态码(301),表示此资源的位置变动是永久性的。

temp

返回一个临时性重定向状态码(302),这是默认值。

seeother

返回一个“参见”状态码(303),表示此资源已经被替代。

gone

返回一个“已废弃”状态码(410),表示此资源已经被永久性地删除了。如果指定了这个状态码,则URL参数将被忽略。

举例:

APACHE

Redirect 301 /old/old.htm http://www.php100.com/new.htm
Redirect permanent /one http://php100.com/two
RedirectMatch 301 (.*).gif$ http://www.php100.com/images/$1.jpg

2.使用mod_rewrite重写URL方式

APACHE

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

在这里判断当前服务器变量HTTP_HOST是否等于php100.com,为真就进行重写,按照R=permanent进行永久重定向,L表示并立即停止重写操作,并不再应用其他重写规则

下面是我最终实现的.htaccess文件,同时也并入wordpress重写规则。

APACHE

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
#Redirect
Options +FollowSymLinks
RewriteCond %{HTTP_HOST}   ^php100.com$
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^(.*)$ http://www.php100.com/$1 [R=301,L]
#Rewrite(blog)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/.* /blog/index.php [L]
RewriteRule . -
</IfModule>
# END WordPress

时间: 2024-08-13 16:28:08

apache下实现301永久性重定向的方法的相关文章

301跳转:IIS服务器网站整站301永久重定向设置方法(阿里云)

欢迎来到重庆SEO俱乐部:搜索引擎优化学习交流QQ群224306761. 承接:seo优化.网站建设.论坛搭建.博客制作.全网营销 博主可接:百度百家.今日头条.一点资讯等软文发布,有需要请联系PE! 点击与站长互动 301跳转:IIS服务器网站整站301永久重定向设置方法(阿里云) 首页 > 主机 > 正文 Panoeade / 2016-04-24 / 1975 views / 0 Replies / 悦读模式 / 百度已收录 欢迎投稿SEO/SEM及互联网相关文章:百度百家.今日头条.一

详解301永久重定向实现方法

301永久重定向对SEO无任何不好的影响,而且网页A的关键词排名和PR级别都会传达给网页B,网站更换了域名,表示本网页永久性转移到另一个地址,对于搜索引擎优化|SEO来说,给搜索引擎一个友好的信息,告诉它此页面已永久重定向,避免搜索引擎找不到页面. 什么情况下使用301重定向 1:网站更换域名时,通过301永久重定向将旧域名重定向至新域名,挽回流量损失和SEO. 2:当出于需要删除网站中的某些目录时,比如我要删除我博客下的博客导航,这时就可以用301永久重定向到网站首页. 3:如果你有多个闲置域

php用301永久性重定向域名

301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址. abc.com重定向到www.abc.com. php代码可以写成这样: <?php $the_host = $_SERVER['HTTP_HOST'];//取得当前域名 $the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面

VPS下的301永久重定向(文本文档)

今天我想做一个云主机windows2003系统下IIS的301永久重定向,因为在实习过程中客户会经常要求做网址重定向,写下这篇文章和大家一起分享下,我将把wangwenxi.com这个域名重定向到百度搜索框. 首先,我在IIS下搭建了discuz论坛,域名为wangwenxi.com 1 打开IIS上的网站管理器,然后点击网站右键新建一个网站,描述内容无所谓 2 网站IP地址,选择VPS上分配的地址,此网站主机头,就是需要做301重定向的域名 3 主目录路径,可以任意指向VPS之中的任何路径,随

Apache下禁止显示网站目录结构的方法

中午开发小哥跑来找我,给我一个网站地址,我点开后显示的是目录格式,把网站的目录结构全部显示出来了.开发小哥说这个显示结果不正确,不应该让用户看到我们的目录结构,问我怎么解决. 我第一反应是目录权限的问题,查看了一下网站目录的权限,发现权限是777,随后我把权限改为755,结果这个页面的确不能访问了,但是上级页面也跟着爆掉了,要知道,这可是线上环境啊,我当时那个汗就下来了,赶紧恢复了777的权限,上级页面又正常了,看来不是权限的问题(又长见识了). 这个时候我意识到可能是配置文件的问题了,然后正好

Win2008 r2 iis7/iis7.5系统下HTTP重定向(301重定向)图文方法

这篇文章主要介绍了Win2008 r2 iis7/iis7.5系统下HTTP重定向(301重定向)图文方法,需要的朋友可以参考下首先了解一下重定向,常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh.什么情况下需要做301重定向?如果你想要换域名,可以通过做301重定向来实现搜索引擎上你的网页依然有效和PR及其他数据不变等对搜索引擎友好的效果,保证流量稳定.如果你有多个主页网址,也就是说访问者可以通过不同的URL到达相同的网页的时候,这种情况也就

apache虚拟主机301重定向设置

301重定向(301 redirect)又叫301代表永久性转移(Permanently Moved),将各种网络请求重新定个方向转到其它位置,是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址.下面说下两种情况下的301重定向方法. WWW域名的重定向.这是我们大多数站长建站后都会面对的一种情况.那么如何做呢?将不带www重定向带WWW的地址.登录FTP,找到根目录下的.htaccess文件,下载到本地,编辑该文件,在第1行 RewriteEngine

asp.net mvc,做 301 永久重定向

以下代码为 asp.net mvc 4.0 代码做的 301 永久重定向 string url = “http://www.csdn.net/test.html” Response.StatusCode = 301;      Response.Status = "301 Moved Permanently";      Response.AppendHeader("Location", url));      Response.AppendHeader("

ASP.NET&#160; &#160; 实现301状态重定向 实现搜索引擎友好

4.0提供301转向 RedirectPermanent 使用该函数转向http状态码为301 备注 RedirectPermanent(String) 方法重载提供了一个 301 的 HTTP 状态代码,在响应中,并且包含重定向到请求的 URL.301 的 HTTP 状态代码是一个标准的 HTTP 响应中的代码.它指示存在的永久重定向,并且它提供了重定向位置. 调用 RedirectPermanent(String) 方法重载会终止响应. 之前使用Redirect 状态码为302 无法实现搜索