1

間に違いはありますか

RewriteRule ^([a-zA-Z0-9\/\-_]+)$ http://www.example.com/index.php?url=$1 [QSA,L]

RewriteRule ^([a-zA-Z0-9\/\-_]+)$ index.php?url=$1 [QSA,L]

最初の 1 つのベース URL ではプレフィックスが付けられていますが、2 番目ではそうではありません。違いがあるとすれば、それは何ですか?

4

1 に答える 1

1

現在のサイトがドメイン www.example.com にあるかどうかによって異なります。

現在のサイトが www.example.com の場合、最初のルールは Apache によって変換され、2 番目のルールとまったく同じになります。

現在のサイトが www.example.com 以外の場合、サイレント リライトを実行するのではなく、Apache は外部リダイレクトを発行しRます (あたかも RewriteRule の最後にフラグを追加したかのように)。

詳細については、RewriteRule の Apache mod_rewrite オンライン ドキュメントを参照し、ルールの置換部分に関するセクションを参照してください。

于 2013-05-01T17:58:50.680 に答える