Rewriterule

Rewriterule

Rewriterule是Rewrite中的一種規則。

Rewrite,一種伺服器的重寫脈衝技術,它使得伺服器可以支持 URL 重寫,是一種最新流行的伺服器技術。

簡介


它還可以實現限制特定IP訪問網站的功能。比如原本需要http://www.abc.com/read.php?tid=123 通過Rewriterule 變成通過 http://www.abc.com/123.htm也可以訪問。
0、這方面在一些博客或者論壇的網站上利用比較多,比如cnbate,比如PHPWIND等一些訪問量高又希望友好親和搜索引擎的站點一般會利用偽靜態技術來完成。
Rewriterule有很多功能,一般都是來完善網站和美化網站
很多情況下,某個 IP 的訪問很容易造成 CPU 100% (比如某些搜索引擎的固定抓取,別人大量的採集站點),這個時候我們就要利用一些有效的手段封掉對方的 IP,讓他無法消耗伺服器的資源,封 IP 的方法有很多種,如果你的 Web 伺服器安裝了 Rewrite 模塊的話,也可以試試利用 Rewrite 規則封掉對方的 IP。
1、例如我們把某個特定的 IP 直接重定向到 baidu 首頁,在網站根目錄的 .htaccess 文件里添加代碼:
RewriteCond % 123.123.123.123 [NC]RewriteRule ^(.*)$ http://www.baidu.com/$1 [R=301] 將 123.123.123.123 這個 IP 替換成您要限制的 IP 即可
2、如果要實現多個 IP ,可以這樣寫:

參數詳解


1) R 強制外部重定向,後面可以代301或302跳轉。
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 不在輸出轉義特殊字元。