.htaccess 301重定向设置
一、去除www,即域名由www.aaa.com简化到aaa.com,在.htaccess文件中添加如下规则语句:
[cce_html] RewriteEngine On RewriteCond %{HTTP_HOST} !^aaa.com$ [NC] RewriteRule ^(.*)$ http://aaa.com/$1 [L,R=301] [/cce_html]
如果原本没有www,想加上www,那么在.htaccess文件中添加如下规则语句:[cce_html]
RewriteEngine On RewriteCond %{HTTP_HOST} !^www.aaa.com$ [NC] RewriteRule ^(.*)$ http://www.aaa.com/$1 [L,R=301] [/cce_html]
二、更换域名不用怕.在.htaccess文件中添加如下规则语句:
假设aaa.com为原域名,bbb.com为新域名.想把www.aaa.com变成www.bbb.com,那么在.htaccess文件中添加如下规则语句:
[cce_html] RewriteEngine On RewriteCond %{HTTP_HOST} !^www.aaa.com$ [NC] RewriteRule ^(.*)$ http://www.bbb.com/$1 [L,R=301] [/cce_html]
想把aaa.com变成www.bbb.com,那么在.htaccess文件中添加如下规则语句:
[cce_html] RewriteEngine On RewriteCond %{HTTP_HOST} !^aaa.com$ [NC] RewriteRule ^(.*)$ http://www.bbb.com/$1 [L,R=301] [/cce_html]
想把aaa.com变成bbb.com,那么在.htaccess文件中添加如下规则语句:
[cce_html] RewriteEngine On RewriteCond %{HTTP_HOST} !^aaa.com$ [NC] RewriteRule ^(.*)$ http://bbb.com/$1 [L,R=301] [/cce_html]
三、域名间文件夹重定向:
如你原来的域名为www.aaa.com,其中aaa/xxx.php 文件即http://www.aaa.com/aaa/xxx.php;在更换域名为www.bbb.com后想换个文件夹换个名字为bbb/yyy.php即http://www.bbb.com/bbb/yyy.php,那么在.htaccess文件中添加如下规则语句:
[cce_html] RewriteCond %{HTTP_HOST} ^www.aaa.com$ RewriteRule ^aaa/xxx.php$ http://www.bbb.com/bbb/yyy.php [R=301,L] [/cce_html]
四、延伸
修改.htaccess文件进行301重定向在Wordpress中的用法:
1.Wordpress更换域名时,你需要对域名进行重定向:
假设原域名为www.aaa.com 新域名为bbb.com,那么在.htaccess文件中添加如下规则语句:
[cce_html] RewriteEngine on rewritecond %{http_host} ^www.aaa.com [NC] rewriterule ^(.*)$ http://bbb.com/$1 [L,R=301] rewritecond %{http_host} ^aaa.com [NC] rewriterule ^(.*)$ http://bbb.com/$1 [L,R=301] RewriteCond %{HTTP_HOST} ^www.bbb.com[NC] RewriteRule ^(.*)$ http://bbb.com/$1 [L,R=301] [/cce_html]
这样的结果就是当你输入 www.aaa.com、aaa.com、www.bbb.com,都会自动转为bbb.com。
2.更换域名后单纯使用域名重定向是不够的,尤其是你对Wordpress设置了固定链接的时候。
假设你的固定链接原格式为http://www.aaa.com/%year%/%post_id%/%postname%.html,你会发现添加以上规则以后,打开这个页面只会进入到bbb.com首页。那么我们要添加下一段规则语句:
[cce_html]RedirectMatch 301 /(.*)$ http://bbb.com/$1[/cce_html]
上面的语句为使用RedirectMatch实现文件匹配重定向。这样一来当你输入http://www.aaa.com/%year% /%post_id%/%postname%.html后,打开来地址就会自动转换为http://bbb.com/%year%/%post_id% /%postname%.html。
3.Wordpress 的分类页面地址里有一个 /category/ ,我感觉这个很多余。下面这个规则语句就能去除它:
[cce_html] RedirectMatch 301^/category/(.+)$ http://aaa.com/$1 [/cce_html]
或者:
[cce_html] RewriteRule ^category/(.+)$ http://aaa.com/$1 [R=301,L] [/cce_html]
4.自动检查英文地址的拼写错误并修复(这个我没有尝试过):
[cce_html] <IfModule mod_speling.c> CheckSpelling On </IfModule> [/cce_html]
分享本文: .htaccess 301重定向设置 http://www.ytwzjs.com/wangzhan/jianshe/249.html