Rewrite規則怎麼寫之Apache篇

來源:互聯網
上載者:User
關鍵字 Apache 多人

仲介交易 HTTP://www.aliyun.com/zixun/aggregation/6858.html">SEO診斷 淘寶客 雲主機 技術大廳

經常看到很多人求助,說他的IDC不支援控制台做301怎麼辦,或者說問偽靜態規則怎麼寫,所以寫這篇博文,主要本文主要討論在Apache下,進行編寫Rewrite規則。

首先,先說URL的重寫規則怎麼寫。 這個主要是用於做偽靜態。 重寫規則是放在.htaccess檔下或Apache的設定檔(HTTPd.conf或sites_conf目錄裡的一些特定的網站設定檔),此文主要討論.htacess檔(其實都差不多)。

打開你的.htacess檔,開頭內容如下:

RewriteEngine on

RewriteBase /

RewriteEngine on是代表開啟rewrite,而RewriteBase / 是表示所有規則前都存在「/」,寫了這條之後,你後面所有規則的開頭,只需要寫「^」就後了,但要注意的是, 此規則僅在.htacess檔中被支援,如果是伺服器設定檔,此規則會被忽略、不必寫。 在正是寫規則前,先為大家講一下重寫中設計到的特殊字元的含義。

*代表前面0或更多個字元

+代表前面1或更多個字元

?代表前面0或1個字元

^代表字串的開始位置

$代表字串結束的位置

.為萬用字元,代表任何字元

\將跟在其後的字元還原為字元本身,例如「\+」代表的就是「+」,而非其它意思。

^在方括弧裡表示非的意思。 例如[^.] 代表非萬用字元。

那麼假如我們希望將「HTTP://www.***.com/b.php?id=1″此類URL偽靜態為「HTTP://www.***.com/b/1″的形式,則規則如下:

RewriteRule ^b/([0-9]+)/?$/b.php?id=$1 [L]

上面的例子中,^表示功能變數名稱後來的URL的開始,$表示字串結束,也就是功能變數名稱後面的URL結束。 [0-9]表示一個數位,因為只要URL存在,其必然存在一個id數位。 緊接其後的+表示表示出現1個或多個數位。 [0-9]+連在一起,表示字元以數位形式出現,數位範圍為0-9,出現次數為1或多次。 $表示字串結束,?$表示在根功能變數名稱後到功能變數名稱結束,有0或1個字元。 $1表示存在記憶體中的內容,也就是說第一個圓括弧中的內容。 [L]表示如果規則匹配就停止,否則需要繼續運行剩下的規則,通常這個沒必要深究。

那除非偽靜態外,8630.html">有時候我們還需要利用.htacess進行301重定向。 符號含義不變,舉例如下:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^seozhao\.com$ [NC]

RewriteRule ^(.*) HTTP://www.***.com/$1 [R=301,L]

上述規則是將seozhao.com 301 到 www.***.com,符號的含義相信不必再做解釋了。

那麼經過這兩條規則,你應該有所啟發了,如果你的網站做改版,導致你的URL結構發生了變化,怎麼辦?答案很簡單,我們可以利用.htacess檔,通過寫rewrite規則,將老的URL 301到新的URL上。

RewriteRule ^(.*?) /?index\.html$/$1? [L,R=301]

這個規則是將功能變數名稱下搜有a/index.html 301 到 a/ 的URL下。 規則是死的,最重要的是大家要活學活用,相信熟練掌握rewrite規則後,你會發現網站所有的URL與返回碼將會全部在你的掌控下!

本文首發天津seo:HTTP://www.seozhao.com/135.html 轉載請注明

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.