下面簡單解說下上面的意思:
【RewriteEngine On】表示重寫引擎開,關閉off,關閉的話當然就不能做轉發了。
【Rewritecond %{HTTP_HOST} ^(www/.)?silentash.com$ [nc]】
這是重寫條件,前面%{HTTP_HOST}表示當前訪問的網址,只是指前綴部分,格式是www.silentash.com不包括“http://”和“/”,^表示字符串開始,$表示字符串結尾,/.表示轉義的. ,如果不轉義也行,推薦轉義,防止有些服務器不支持,?表示前面括號www/.出現0次或1次,這句規則的意思就是如果訪問的網址是silentash.com或者www.silentash.com就執行以下的語句,不符合就跳過。
【Rewriterule ^(.*)$ http://VeVb.com/$1 [r=301,nc]】
這個根據之前的條件執行相應的規則,在這里的話就是讓重定向到VeVb.com域下面相應地址,比如來源地址是http://www.silentash.com/abc/1.html,前部分的^(.*)$將會匹配當前請求的url,不過這里到底是匹配整個http://www.silentash.com/abc/1.html,還是只匹配/abc/1.html即反斜杠后面的成分,還是只匹配abc/1.html?
答案是:根據RewriteBase規則規定,如果rewritebase 為/,將會匹配abc/1.html,默認應該是abc/1.html。后面的$1是正則匹配出來的值,經過組合,之前的url會被重定向為http://VeVb.com/abc/1.html,達到了域名轉換的目的。
后面幾行大同小異。
還有一個問題是,不能保證每個人輸入的網址都是小寫的,如果輸入大寫的呢,linux系統是區分大小寫的,所以應該在RewriteCond后添加[NC]忽略大小寫的。
下面附上簡單的語法規則和flags:
【RewriteCond語法:】
RewriteCond TestString CondPattern [flags]
rewritecond的其他用法:
‘-d'(目錄)
將TestString視為一個路徑名并測試它是否為一個存在的目錄。
‘-f'(常規文件)
將TestString視為一個路徑名并測試它是否為一個存在的常規文件。
‘-s'(非空的常規文件)
將TestString視為一個路徑名并測試它是否為一個存在的、尺寸大于0的常規文件。
‘-l'(符號連接)
將TestString視為一個路徑名并測試它是否為一個存在的符號連接。
‘-x'(可執行)
將TestString視為一個路徑名并測試它是否為一個存在的、具有可執行權限的文件。該權限由操作系統檢測。
‘-F'(對子請求存在的文件)
檢查TestString是否為一個有效的文件,而且可以在服務器當前的訪問控制配置下被訪問。它使用一個內部子請求來做檢查,由于會降低服務器的性能,所以請謹慎使用!
‘-U'(對子請求存在的URL)
檢查TestString是否為一個有效的URL,而且可以在服務器當前的訪問控制配置下被訪問。它使用一個內部子請求來做檢查,由于會降低服務器的性能,所以請謹慎使用!
【RewriteRule語法:】
RewriteRule Pattern Substitution [flags]
【flags】:
‘chain|C'(鏈接下一規則)
此標記使當前規則與下一個規則相鏈接。它產生這樣的效果:如果一個規則被匹配,則繼續處理其后繼規則,也就是這個標記不起作用;如果該規則不被匹配,則其后繼規則將被跳過。比如,在一個目錄級規則中執行一個外部重定向時,你可能需要刪除”.www”(此處不應該出現”.www”)。
‘cookie|CO=NAME:VAL:domain[:lifetime[:path]]'(設置cookie)
在客戶端設置一個cookie。cookie的名稱是NAME,值是VAL。domain是該cookie的域,比如'.apache.org',可選的lifetime是cookie的有效期(分鐘),可選的path是cookie的路徑。
‘env|E=VAR:VAL'(設置環境變量)
此標記將環境變量VAR的值為VAL,VAL可以包含可擴展的正則表達式反向引用($N和%N)。此標記可以多次使用以設置多個變量。這些變量可以在其后許多情況下被間接引用,通常是在XSSI(<!
主站蜘蛛池模板:
南昌县|
黑山县|
海伦市|
九台市|
长沙市|
抚顺县|
宁强县|
金门县|
普格县|
达日县|
勃利县|
石门县|
益阳市|
绍兴县|
怀仁县|
建平县|
中超|
合阳县|
玉龙|
鄂尔多斯市|
瓦房店市|
南部县|
寿宁县|
三台县|
崇明县|
湄潭县|
临西县|
徐汇区|
永顺县|
鄂温|
浦江县|
安达市|
和顺县|
西安市|
合肥市|
萨迦县|
蛟河市|
尚志市|
南平市|
淮南市|
明水县|