Apache HTTPD mod_rewrite规则将特定pathredirect到Tomcat Worker(AJP)

我有一个Apache HTTPD服务器(这已经让我疯狂了)。 我configuration了几个tomcat工作者。 所以https://something.domain/WebApp1/通过AJP激活指定的tomcat上的web应用程序。

但是,由于命名约定更改,我必须将pathhttps://something.domain/app1/redirect到https://something.domain/WebApp1/ 。 所以用户实际上只使用新的约定(WebApp1)。

所以我去了httpd.conf文件,并激活mod_rewrite:

 LoadModule rewrite_module modules/mod_rewrite.so 

在“LoadModule”块的下面,我添加了下面的代码片段:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^/app1$ WebApp1 [R] </IfModule> 

我重新启动Apache的httpd服务,并试图访问.../app1 ,它只是带领我到了404.我需要做什么才能让这个运行?

你不需要mod_rewrite这种操作,redirect就完全够用了。

redirect/ app1 / / WebApp1 /

在重新请求或使用命令行工具之前清除浏览器caching。

如果它仍然不起作用,那么configuration还有其他问题。 或者你有什么冲突或者请求没有登陆你认为的虚拟主机。