Apache Rewrite的主要功能 使用

2021-09-14 07:45:19 字數 1479 閱讀 5819

就是實現url的跳轉和隱藏真實位址,基於perl語言的正規表示式規範。平時幫助我們實現擬靜態,擬目錄,網域名稱跳轉,防止盜鏈等

apache下的rewrite配置主要有兩種,一種是針對整個apache伺服器的配置,此種配置的rewrite規則是直接在httpd.conf下書寫。配置步驟如下:

(1)去除httpd.conf檔案中"#loadmodule rewrite_module modules/mod_rewrite.so"前面的"#"號;

(2)然後再在httpd.conf中書寫如下規則:

rewriteengine on

當訪問任何以t_開頭,以.html結尾的檔案時,將$1用與(.*)匹配的字元替換後,訪問相應的test.php頁面

rewriterule ^/t_(.*).html$ /test.php?id=$1

另一種是針對apache伺服器下的某一目錄的配置,此種配置的rewrite規則需在此目錄下建立乙個.htaccess檔案來書寫。配置步驟如下:

(1)去除httpd.conf檔案中"#loadmodule rewrite_module modules/mod_rewrite.so"前面的"#"號;

(2)修改httpd.conf檔案中的"allowoverride none"為"allowoverride all",同時最好將options也置為"all",否則可能會出問題。

(3)在目錄中建立.htaccess檔案,並用記事本開啟,書寫如下規則:

rewriteengine on

rewriterule ^/t_(.*).html$ /test.php?id=$1

rewriteengine on

rewriterule ^/test([0-9]*).html$ /test.php?id=$1

rewriterule ^/new([0-9]*)/$ /new.php?id=$1 [r]

rewriteengine on

當我們訪問的位址不是以www.163.com開頭的,那麼執行下一條規則

rewritecond % !^www.163.com [nc]

rewriterule ^/(.*) [l]

1) r 強制外部重定向

2) f 禁用url,返回403http狀態碼。

3) g 強制url為gone,返回410http狀態碼。

4) p 強制使用****。

5) l 表明當前規則是最後一條規則,停止分析以後規則的重寫。

6) n 重新從第一條規則開始執行重寫過程。

7) c 與下一條規則關聯

如果規則匹配則正常處理,以下修正符無效

8) t=mime-type(force mime type) 強制mime型別

9) ns 只用於不是內部子請求

10) nc 不區分大小寫

11) qsa 追加請求字串

12) ne 不在輸出轉義特殊字元 %3d$1 等價於 =$1

Apache rewrite規則寫法

1 r code force redirect 強制外部重定向 強制在替代字串加上http thishost thisport 字首重定向到外部的url.如果code不指定,將用預設的302 http狀態碼。2 f force url to be forbidden 禁用url,返回403http狀...

Apache Rewrite 靜態配置

1 mod rewrite 簡介和配置 rewirte主要的功能就是實現url的跳轉和隱藏真實位址,基於perl語言的正規表示式規範。平時幫助我們實現擬靜態,擬目錄,網域名稱跳轉,防止盜鏈等 如乙個普通訪問位址為 php100.php?id 2 可以轉成 php100 2.html 或轉成 php1...

APACHE REWRITE 匹配問號的寫法

rewriterule 不會去匹配 後面的字串,需要用rewritecond來匹配 把 abc?id 123 def.php?id 123 的寫法 rewriteengine on rewritecond id rewriterule abc def.php?sid 1 l 啟用重寫後,避免靜態資源...