因为博客是使用了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
分享到:
相关推荐
iis下设置301 Redirect 永久重定向的方法 在网站建设中,时常会遇到需要网页重定向的情况,如网站调整、网页扩展名改变、注册了多个域名的网站等。这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧...
安装配置apache并修改对应配置实现访问地址的重定向功能,已apache所在服务器为中间服务器来完成访问地址的跳转
apache 开启重定向 rewrite的实现方法 1.开启重定向模块 $ ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enable/rewrite.load 2.修改配置文件(某些php框架需要) $ vim /etc/apache2/...
同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。关于301重定向的更多内容,大家不妨Google一下。本文只介绍实现方法啦! 301重定向的实现,我以前也写过一篇相关的...
nginx和Apache下 设置网站301重定向
Apache Rewrite Module 重定向 偏避的注意点
解析网站301重定向的实现方法,包括iis,apache,asp,php的方法
新建.htaccess文件,输入下列内容(需要开启mod_rewrite): 1...//www.jb51.net/$1 [L,R=301] 2)重定向到新域名 代码如下: Options +FollowSymLinks RewriteEngine on RewriteRule ^(.*)$ http://www.baidu.com/$1
平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等 2.Apache Rewrite的配置 Apache下的Rewrite配置主要有两种,一种是针对整个apache服务器的配置,此种配置的Rewrite规则是直接在httpd.conf下书写。...
主要介绍了Apache实现禁止中文浏览器访问与301重定向的方法,通过修改.htaccess的配置来实现非常简便,需要的朋友可以参考下
主要介绍了修改.htaccess实现301域名重定向示例,需要的朋友可以参考下
感觉BAIDU spider对404的重定向似乎无动于衷,于是近日干脆对原失效的链接重新设置301重定向。
主要介绍了apache将不带www域名301重定向到带www的域名的配置方法,需要的朋友可以参考下
主要介绍了Apache mod_rewrite实现HTTP和HTTPS重定向跳转,本文分别给出了HTTP重定向HTTPS和HTTPS重定向HTTP配置参考,需要的朋友可以参考下
实现301页面跳转之前需要对apache配置做下修改如 apache默认是没有开启mod_rewrite模块的, 1,将 代码如下: #LoadModule rewrite_module modules/mod_rewrite.so 这一行前面的#号去掉,http.conf的站点目录配置,另...