RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^all_article/$ http://localhost/all_article.html [R=301,L]php
RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [L,R=301]
最後再加一行
RewriteRule ^abc/(.*)$ http://www.abc.com/top/abc/ [L,R=301]
即
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [L,R=301]
RewriteRule ^abc/(.*)$ http://www.abc.com/top/abc/ [L,R=301]
若是是
http://www.abc.com/abc/list_18.html
要轉向到
http://www.abc.com/top/abc/list_18.html
則換成
RewriteRule ^abc/(.*)$ http://www.abc.com/top/abc/$1 [L,R=301]
你原來的規則裏已經加了L,意思是last
1、去除www,即域名由www.aaa.com簡化到aaa.com,在.htaccess文件中添加以下規則語句:html
[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]post
RewriteEngine On RewriteCond %{HTTP_HOST} !^www.aaa.com$ [NC] RewriteRule ^(.*)$ http://www.aaa.com/$1 [L,R=301] [/cce_html]
2、更換域名不用怕.在.htaccess文件中添加以下規則語句:
假設aaa.com爲原域名,bbb.com爲新域名.想把www.aaa.com變成www.bbb.com,那麼在.htaccess文件中添加以下規則語句:spa
[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文件中添加以下規則語句:htm
[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文件中添加以下規則語句:get
[cce_html] RewriteEngine On RewriteCond %{HTTP_HOST} !^aaa.com$ [NC] RewriteRule ^(.*)$ http://bbb.com/$1 [L,R=301] [/cce_html]
3、域名間文件夾重定向:
如你原來的域名爲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]
4、延伸
修改.htaccess文件進行301重定向在Wordpress中的用法:
1.Wordpress更換域名時,你須要對域名進行重定向:
假設原域名爲www.aaa.com 新域名爲bbb.com,那麼在.htaccess文件中添加以下規則語句:it
[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首頁。那麼咱們要添加下一段規則語句:io
[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/ ,我感受這個不少餘。下面這個規則語句就能去除它:ast
[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]