.htaccess檔案的內容如下:
rewritecond % ask.xxoo.com
rewriterule ^(index.html)?$ /ask/
rewriterule ^(.*)list-([0-9]+)-([a-z]+)\.html$ $1/ask/list.php?catid=$2&action=$3
rewriterule ^(.*)show-([0-9]+)\.html$ $1/ask/show.php?id=$2
分析**:
rewritecond 後面的 % 是網域名稱
rewritecond % space.xxoo.com
表示位址列中的網域名稱是否等於space.xxoo.com這裡也可以使用正則 如:rewritecond % space([1-9]).xxoo.com 這匹配的url包含了space1.xxoo.com space2.xxoo.com space2.xxoo.com .......space9.xxoo.com 這9個網域名稱
rewriterule ^(index.html)?$ /ask/
rewriterule ^(.*)list-([0-9]+)-([a-z]+)\.html$ $1/ask/list.php?catid=$2&action=$3
匹配位址包含
ask.xxoo.com/list-3-all.html 重定向的是ask.xxoo.com/ask/list.php?catid=3&action=all
ask.xxoo.com/list-45-high.html 重定向的是ask.xxoo.com/ask/list.php?catid=45&action=hight
rewriterule ^(.*)show-([0-9]+)\.html$ $1/ask/show.php?id=$2
匹配位址包含
ask.xxoo.com/show-3.html 重定向的是ask.xxoo.com/ask/show.php?id=3
ask.xxoo.com/show-21.html 重定向的是ask.xxoo.com/ask/show.php?id=21
。。。。。
自己現在伺服器在用的 isapi_rewrite 3.x.x
rewriteengine on
rewriterule ^index.html$ / [nc,l,r=301,o]
匹配的意義:把根目錄下面的index.html 預設跳轉到不帶index.html 防止index.html分散權重
說明:o表示對url進行標準化,l表示last rule,最後一條規則,也就是後面的重寫規則對他不起作用,防止被其他匹配的規則再次重寫。這裡的路徑可以是相對路徑也可以是絕對路徑。
說明:[i,rp]:i表示忽略大小寫,rp表示使用301轉向,以上都是整個網域名稱重定向。
.htaccess的301重定向**
把不帶www的網域名稱301到帶www的網域名稱
rewriteengine on
rewritecond % ^example.com$ [nc]
rewriterule ^(.*)$ [r=301,l]
「rewriteengine on」,開啟 rewrite 規則開關;
「rewritecond」指重寫的條件。後面的字串通過正規表示式進行匹配,匹配字串以 ^ 開頭並以 $ 結尾。此處 % 獲取當前主機名稱。條件為「當主機名稱為example.com」時執行下列的重寫規則。其中「[nc]」指不區分大小寫;
「rewriterule」,定義一條重寫規則。此處含義:跳轉到「接上訪問請求的**中 example.com 後面的部分。[r=301] 指重寫為 301 重定向/跳轉([r] 單指跳轉,意義等同 [r=302]),[l] 指最後一條匹配規則。
把老網域名稱301到新網域名稱
更換網域名稱時,老網域名稱的權重不能浪費了,把老網域名稱的頂級網域名稱和帶www的網域名稱都要301到新網域名稱,**如下
rewriteengine on
rewritecond % ^(www.)?old.com$ [nc,or]
rewritecond % ^new.com$ [nc]
rewriterule ^(.*)$ [r=301,l]
現在無論你訪問old.com,www.old.com,new.com都會301到www.new.com 夠完美了吧!而且所有的內頁也會跟著301,接下來至少等待2個月,期間不要刪除原網域名稱,靜等權重完全轉移!
需要注意的是,wordpress預設情況下不支援該條命令,因為wordpress的**本身就是偽靜態的,要想實現這個功能,必須先把wordpress的內頁生成html檔案。
==重要提醒==:iis 6中的.htaccess 301定向
以下規則適用於 iis 6中的 isapi_rewrite 2.x 3.x 中的httpd.ini或.htaccess
注意這兒的.htaccess不是apache中的.htaccess 規則略有不同。
rewritecond % ^sjyhome.com$
rewriterule (.*) [nc,r=301]
利用isapi rewrite防盜煉
我們在它後面加上一句 如果想允許所有google子站和baidu子站形如images.baidu.com,images.google.com等站則做如下設定 至此,乙個相當有效的防盜煉系統已經出來了,但如上設定有乙個問題,如果瀏覽者瀏覽了盜鏈頁面後訪問本站頁面,則被盜鏈的快取會影響的正常顯示。把 改...
利用isapi rewrite防盜煉
我們在它後面加上一句 如果想允許所有google子站和baidu子站形如images.baidu.com,images.google.com等站則做如下設定 至此,乙個相當有效的防盜煉系統已經出來了,但如上設定有乙個問題,如果瀏覽者瀏覽了盜鏈頁面後訪問本站頁面,則被盜鏈的快取會影響的正常顯示。把 改...
利用isapi rewrite防盜煉
我們在它後面加上一句 如果想允許所有google子站和baidu子站形如images.baidu.com,images.google.com等站則做如下設定 至此,乙個相當有效的防盜煉系統已經出來了,但如上設定有乙個問題,如果瀏覽者瀏覽了盜鏈頁面後訪問本站頁面,則被盜鏈的快取會影響的正常顯示。把 改...