2012-03-15 10 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

+0

ありがとう...すばらしい説明 – frodo

1

ユーザーが正確なURL 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

+0

良いリンク、私はいつもここでregexpのテストをしていた:http://www.quanetic.com/Regex –