2012-03-15 37 views
0

我已經設法把這個條件和規則放在一起重定向一個頁面,在其末尾包含index.shtml,但我不明白這個部分的重寫是什麼意思 - ^$部分。我相信^手段啓動和$是結束,但在這方面,我不明白在「英語」它的意義,它是如何工作的:解釋這個重寫規則?

RewriteCond %{HTTP_HOST} ^www\.example1\.test\.com [NC] 
RewriteRule ^$ http://www.example1.test.com/index.shtml [R,L] 

感謝。

回答

2

^是字符串的開始,$是結束。如果兩者之間沒有任何內容,例如^$,則表示空字符串。由於到當前目錄的路徑被忽略,所以匹配的URL的部分是,在,http://www.example1.test.com/之後。在之後匹配一個「空字符串」,這意味着匹配URL本身,如:在沒有文件或其他任何指定的情況下。所以,這會將根URL重定向到index.shtml

+1

+1的技術解釋,我的正則表達式是生鏽的。 – Stijn 2012-03-15 10:12:13

+0

謝謝你的...很好的解釋 – frodo 2012-03-15 13:45:12

1

如果用戶訪問確切的網址www.example1.test.com,他或她將被重定向到http://www.example1.test.com/index.shtml

有用的工具:http://martinmelin.se/rewrite-rule-tester/

+0

謝謝...所以^ $正在說匹配「從www.example1.test.com開始到結束的所有內容」,並將index.shtml應用於它? – frodo 2012-03-15 09:42:34

+0

不錯的鏈接,我總是告訴測試正則表達式在這裏:http://www.quanetic.com/Regex – 2012-03-15 09:58:32