使用 tomcat6 重写 apache2 上的规则
我正在尝试重写来自 GWT-Web 应用程序的请求,更具体地说:gwtupload。 Web应用程序通过mod_jk绑定到apache2。
我需要重写以下请求:
http://www.example.com/servlet.gupld?new_session=true&random=0.3840860207955523
To
http://www.example.com/webapp/servlet.gupld?new_session=true&random=0.3840860207955523
Anything after servlet.gupld?必须是可变的。
Web 应用程序本身工作正常,并且是这样的:
<IfModule mod_jk.c>
JkMount /webapp/* tomcat3
JkLogLevel error
</IfModule>
虽然我的(不工作的)重写规则看起来像这样:
<Directory /var/www/www.example.com/www>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
RewriteEngine On
RewriteBase /
RewriteRule ^/servlet\.gupld /webapp/servlet\.gupld [PT,L]
</Directory>
目前,我总是在对 servlet 的请求上收到 404。
有人可以帮忙吗?
I am trying to rewrite a request from a GWT-Webapplication, to be more specific: gwtupload. The Webapplication is bound to apache2 via mod_jk.
I need to rewrite the following request:
http://www.example.com/servlet.gupld?new_session=true&random=0.3840860207955523
To
http://www.example.com/webapp/servlet.gupld?new_session=true&random=0.3840860207955523
Anything after servlet.gupld? has to be variable.
The Webapp itself works fine and is boud like this:
<IfModule mod_jk.c>
JkMount /webapp/* tomcat3
JkLogLevel error
</IfModule>
While my (not working) rewrite rule looks like this:
<Directory /var/www/www.example.com/www>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
RewriteEngine On
RewriteBase /
RewriteRule ^/servlet\.gupld /webapp/servlet\.gupld [PT,L]
</Directory>
For the moment I am always getting a 404 on the request to the servlet.
Can anybody help?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不需要转义“。”在重写中。您只需要
/webapp/servlet.gupld
您还需要在重写规则中使用
QSA
标志,以便传递查询字符串。You don't need to escape the "." in the rewrite. You only need
/webapp/servlet.gupld
You'll also want
QSA
flag in the rewrite rule so that query strings get passed.