1

構文をよりよく理解できるように、誰かがこれらの書き換えルールを英語で説明してくれませんか。私の最初の理解は次のとおりです。

URL がスラッシュで開始または終了する場合は、http://www.example.com/を表示します。

RewriteRule ^/$                 http://www.example.com/ [P,L,QSA,NC]

URL がスラッシュで始まり、その後にスラッシュを含まない文字列が続き、次にドットが続き、スラッシュを含む別の文字列が含まれていない場合は、http://www.example.com/ $1にリダイレクトします。

RewriteRule ^/([^/]+\.[^/]+)$   http://www.example.com/$1 [P,L,QSA,NC]
4

1 に答える 1

0

最初の正規表現は次のように述べています: スラッシュで始まり、そして終わる必要があります。したがって、ここでは純粋な「/」のみが一致します。それが一致する場合、リダイレクトされた URL は、ブラウザをリダイレクトする代わりに、組み込みのプロキシ モジュールを介して配信されます。すべてのクエリ パラメータが再度追加され、そのリクエストでそれ以上の書き換えは行われません。前述の NC (case insensitity) は、ここでは意味がありません。

2番目の式の説明は正しいです。スラッシュの一致の防止は、サブディレクトリの偶発的な一致を防ぐのに役立ちます。そのため、最上位ディレクトリ内のオブジェクトへのリクエストのみが一致します。最初の式と同じ追加のルールが適用されますが、大文字と小文字を区別しないことには意味がありません。

于 2012-07-13T15:18:55.490 に答える