我有一个 GWT 应用程序部署为 webapps/ROOT ( context [] )。典型的 URL 如下所示:
我想要的是一个看起来像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 设置等等。我已经坚持了好几天了。谢谢。