如何使重写条件依赖于 servlet/jsp 的结果?
我们在 JBoss 之上有 Apache,为 Web 或移动应用程序提供服务。 我们目前使用 Apache mod-rewrite 根据用户代理的正则表达式匹配来决定将用户转发到 Web 或移动设备的位置(以及 mod-jk 挂载到 JBoss),但这不精确且容易出错。
我们希望在 JBoss 上使用 servlet 或 jsp 作为决定是否为 Web 应用程序还是移动应用程序提供服务的一部分(Servlet 检查 WURFL 中的用户代理以确定这是移动设备还是 Web 浏览器)。
如何根据 servlet/jsp 的结果制定重写条件?
(我已经考虑过将 jsp 重定向回两个可能的 URL,并从那里继续重写规则逻辑,但是来回传递 URL 参数会变得很复杂)
We have Apache on top of JBoss serving either web or mobile app.
We are currently using Apache mod-rewrite to decide where to forward the user to web or mobile (and mod-jk to mount to JBoss), based on regular expressions matching of user-agent, but that is imprecise and error prone.
We want to use a servlet or jsp on JBoss as part of deciding whether to serve the web or mobile app (the servlet checks the user-agent in WURFL to see if this is a mobile device or a web browser).
How can I make a rewrite-condition dependent on the result of a servlet/jsp ?
(I already thought about redirecting the jsp back to two possible URLs and continue the rewrite-rule logic from there, but this gets complicated with passing URL parameters back and forth)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一种概念上简单的方法是使用程序类型重写映射来调用基于 EE 的服务来检查 UA,假设程序不能仅执行检查本身(如果您只有一些固定的 java 接口进入该数据库)
One conceptually simple way is to use a program-type rewritemap to call your EE-based service to check a U-A, assuming the program couldn't just perform the check itself (if you've only got some canned java interface into that DB)