缩短GWT / Tomcat应用程序的URL

时间:2012-06-26 02:14:30

标签: apache gwt tomcat

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

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

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

的网址

理想情况下,不仅仅是重定向,而且后一种形式将保留在浏览器的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设置,等等。我已经坚持了几天。谢谢。

1 个答案:

答案 0 :(得分:0)

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

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