0

我有一个 GWT 应用程序部署为 webapps/ROOT ( context [] )。典型的 URL 如下所示:

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

我想要的是一个看起来像http://example.com/abc的 URL

理想情况下不仅仅是重定向,后一种形式将保留在浏览器的 URL 栏中(一个 la mod_proxy,或带有 [P] 的 mod_rewrite)。

问题是,虽然我可以使用 mod_rewrite 规则进行重定向,但地址栏中的 URL 会发生变化。如果我尝试将 mod_proxy 或 mod_rewrite 与 [P] 一起使用,则目标的查询字符串部分似乎无法通过。

这是我的代理 ([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 不能传递查询字符串,对吗?如果是这样,我怎样才能实现我的目标?我对任何东西都持开放态度,无论是自定义 servlet、过滤器、apache 配置、mod_jk 设置等等。我已经坚持了好几天了。谢谢。

4

1 回答 1

0

您是否尝试使用 [QSA] 标志而不是 [P] 标志?

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

于 2012-06-26T03:31:02.607 回答