0

GWT アプリを webapps/ROOT ( context [] ) としてデプロイしています。一般的な URL は次のようになります。

http://example.com/?id=abc

私が欲しいのはhttp://example.com/abcのような URL です

理想的には単なるリダイレクトではありませんが、この後者の形式はブラウザーの URL バーに留まります ([P] を使用した mod_proxy または mod_rewrite のように)。

問題は、リダイレクトに mod_rewrite ルールを使用できますが、ロケーション バーの URL が変更されることです。[P] で mod_proxy や mod_rewrite を使おうとすると、宛先のクエリ文字列部分が通じないようです。

これが私のプロキシ ([P]) ルールです

RewriteCond %{REQUEST_URI} /([a-zA-Z0-9]+)
RewriteRule ^/([a-zA-Z0-9]+)$ http://example.com/?id=%1 [P]

ここで起こっているように見えるのは、 http ://example.com/abc がhttp://example.com/にリダイレクトされていることです(クエリ文字列部分はありません)。上記の[P]を外せば動くのですが、ロケーションバーが目的地に変わってしまいます。

一部のドキュメントは、mod_proxy がクエリ文字列を渡すことができないことを暗示しているようですが、それは正しいですか? もしそうなら、どうすれば私の目標を達成できますか? カスタム サーブレット、フィルター、Apache 構成、mod_jk 設定など、文字通り何でも受け入れます。私は何日もこれにこだわっています。ありがとう。

4

1 に答える 1

0

[P] フラグの代わりに [QSA] フラグを試しましたか?

参照: http://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsa

于 2012-06-26T03:31:02.607 に答える