我有一个部署为webapps / ROOT(context [])的GWT应用程序。典型的URL如下所示:
我想要的是一个看起来像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设置,等等。我已经坚持了几天。谢谢。
答案 0 :(得分:0)
您是否尝试使用[QSA]标志而不是[P]标志?
请参阅:http://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsa