jsf - 如何在 Apache 中为 Tomcat 创建替代 URL/别名(仅对用户可见)

标签 jsf tomcat mod-rewrite redirect apache2

我正在使用 Apache2 -> mod_jk -> Tomcat7

我正在使用以下 URL 调用 JSF 网络应用程序:http://server/foo

现在,我也喜欢用 URL 来调用它:http://server/bar

foo 的调用应始终更改为 bar

由于 Tomcat 要求并与 /foo 相关,因此任何 JSF request.getContextPath() 都会返回 /foo。因此,后续页面调用会导致浏览器 URL 包含 /foo 而不是 bar

What do I need to change in order to keep tomcats foo-paths while the user sees bar-paths in the browser?

这是我目前的配置:

/etc/apache2/conf.d/test.conf

Alias /foo "/original/path"
RewriteEngine on
RewriteRule "/bar(.*)" "/foo$1" [PT]
<Directory "/original/path">
.... 
</Directory>

/.../tomcat7/conf/Catalina/localhost/test.xml

<Context path="/foo" ...></Context>

最佳答案

  1. 在 tomcat7/conf/Catalina/localhost 中需要一个额外的 foo.xml
  2. ...

    别名/foo "/original/path" 重写引擎开启 RewriteRule "/bar(.*)""/foo$1"[PT] ....

关于jsf - 如何在 Apache 中为 Tomcat 创建替代 URL/别名(仅对用户可见),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34813372/

相关文章:

java - 如何使用 JSF 2.0 显示浏览器名称和版本?

java - 可以在支持 bean 中设置 Html 数据表列宽

apache - 如何将我在 EC2 中的网站重定向到我的域

java - 在 JSF 自定义 validator 中区分 ajax 请求和完整请求

java - 使用 JSF 和 Omnifaces 进行 Bean 验证的重复消息

eclipse - 在 Tomcat 中启动 eclipse - Debug模式 - 超时错误

java - Eclipse:在调试 Java EE 时不显示变量

.htaccess - mod_rewrite 发送与重写映射不匹配的所有内容

php - 在 Apache2/Cake PhP 中定义文档根目录

php - Apache mod_rewrite 和 PHP GET 数组