0

URL 書き換え用に .htaccess ファイルを構成しました。[L] フラグを使用しているだけで、ルールには [R] フラグは使用していません。ブラウザでテストすると、ページが呼び出されますが...パラメータurlが表示されます。もちろん、これは私が望んでいないことです。

私の .htaccess ファイル:

RewriteEngine on
RewriteRule ^testing/([0-9a-zA-z_-]+)/([0-9a-zA-z_-]+)$ http://localhost/testing/index.php?a=$1&b=$2 [L]

ローカルホストでテストしているためですか?

4

1 に答える 1

1

http://localhost/...FQDN で URL を使用すると、自動的にリダイレクトされます。これは、とにかく URL ファイル マッピング処理パイプライン リダイレクト (302 を使用) の最後でハンドラーにURI を内部的に書き換えるためです。ターゲットのローカル パスを選択するか、リクエストを処理しているサーバー/仮想ホストとは別の場所にある場合は、次のPフラグを使用します。

サーバー/仮想ホストのローカル URI を指す:

RewriteRule ^testing/([0-9a-zA-z_-]+)/([0-9a-zA-z_-]+)$ /testing/index.php?a=$1&b=$2 [L]

Pフラグを使用してリクエストをプロキシします。

RewriteRule ^testing/([0-9a-zA-z_-]+)/([0-9a-zA-z_-]+)$ http://localhost/testing/index.php?a=$1&b=$2 [L,P]
于 2012-10-10T23:13:10.847 に答える