1.給子域名加www標記
%{HTTP_HOST} !^www\..? http: 這個規則抓取二級域名的%1變量,如果不是以www開始,那麼就加www,以前的域名以及{REQUEST_URI}會跟在其後。
2.去掉域名中的www標記
.? http:
3.去掉www標記,但是保存子域名
.? http: 這裡,當匹配到1%變量以後,子域名才會在%2(內部原子)中抓取到,而我們需要的正是這個%1變量。
4.防止圖片盜鏈
%{HTTP_REFERER} !^%{HTTP_REFERER} !^http: RewriteRule \.(gif|jpg|png)$ -|jpg|%{HTTP_REFERER} !^%{HTTP_REFERER} !^http: RewriteRule \.(gif|jpg|png)$ 你的圖片地址 [R=301,%{HTTP_REFERER} !^http: RewriteRule \.(gif|jpg|png)$ - [F,
5.如果文件不存在重定向到404頁面
%{REQUEST_FILENAME} !-%{REQUEST_FILENAME} !-.? /404.-f匹配的是存在的文件名,-d匹配的存在的路徑名。這段代碼在進行404重定向之前,會判斷你的文件名以及路徑名是否存在。你還可以在404頁面上加一個?url=^/?(.*)$ /404.php?url=$1
6.重命名目錄
^/?old_directory/([a-z/.]+)$ new_directory/$1 [R=301,.”(注意不是代表得所有字符,前面有轉義符)來匹配文件的後綴名。
7.將.html後綴名轉換成.php
^/?([a-z/]+)\.html$ $1.=301,L]。
8.創建無文件後綴名鏈接
^/?([a-z]+)$ $1.%{REQUEST_FILENAME}.php -^/?([a-zA-Z0-9]+)$ $1.%{REQUEST_FILENAME}.html -^/?([a-zA-Z0-9]+)$ $1..php為後綴,這條規則將被執行。
9.檢查查詢變量裡的特定參數
%{QUERY_STRING} !uniquekey=^/?script_that_requires_uniquekey\.php$ other_script.php [QSA,
10.刪除查詢變量
.分配一個新的查詢參數(你可以用[QSA,.在文件名後面加一個“?”(比如index.php?)。符號“?”不會在浏覽器的地址欄裡顯示。
11.用新的格式展示當前URI
%{QUERY_STRING} !%{QUERY_STRING} id=([-a-zA-Z0-9_+]+^/?index\.php$ %1? [R=301,^/?([-a-zA-Z0-9_+]+)$ index.php?marker &id=$1: 第二次匹配,marker被匹配,所以忽略第一條規則,這裡有一個“.”字符會出現在http: 注意,這個解決方案要求Apache的一些擴展功能,所以如果你的網站放於在共享主機中會遇到很多障礙。
12.保證安全服務啟用
%{REQUEST_URI} ^secure_page\.%{HTTPS} !^/?(secure_page\.php)$ https: 以上規則測試{REQUEST_URI}值是否等於我們的安全頁代碼,並且{HTTPS}不等於on。如果這兩個條件同時滿足,請求將被重定向到安全服務URI.%{REQUEST_URI} ^secure_page\.%{SERVER_PORT} !^443^/?(secure_page\.php)$ https:
13.在特定的頁面上強制執行安全服務
%{SERVER_PORT} !^443^/?(page1|page2|page3|page4|page5)$ https: %{ SERVER_PORT } ^443!^/?(page6|page7|page8|page9):