0

私は言うことができます: ?a=1&b=r%26daspxページに問題ありません。2 番目のパラメーターのは、区切り文字として予約されているため、&エンコードされます。%26&

2008 R2 に IIS7.5 用のURL Rewrite Module 2.0をダウンロードしてインストールしました。

簡単なルールを書きました^([^/]+)/([^/]+)/?$: url: を一致させて書き換えますDefault.aspx?a={R:1}&b={R:2}

したがって、 のようなものは問題なく1/a b動作しますが、実行時に %26 または & の後にすべてがカットオフされるようです。ただし、Server Manager では書き換えをテストでき、GUI のテスト ツールでは何も途切れることはありません。?a=1&b=a b1/a%26b1/a&b?a=1&b=a

これについてどうすればよいかわかりませんが、私が行ったことはすべて非常に簡単に思えました。明確にするために、アンパサンド (または必要に応じて %26) を含むわかりやすい URL を作成し、URL Rewrite 2.0 モジュールに完全なパラメーターを渡すにはどうすればよいでしょうか?

4

1 に答える 1

1

少し時間がかかりましたが、答えが見つかりました。URL は渡される前にデコードされるため、追加の変数が作成されます。

とにかく、解決策は実際には非常に簡単でした。Rewrite URL ルールを次のように調整するだけで済みました。

Default.aspx?a={UrlEncode{R:1}}&b={R:2}

UrlEncode 関数は {R:1} を正しくエンコードします。

于 2012-07-03T18:00:38.643 に答える