我一直在尝试找到一个解决方案,以解决我认为应该将 Alias 与 Tomcat 和 Apache Httpd 一起非常常见的用法,但我找不到它。
我有 Tomcat 运行我的应用程序服务器,我希望能够使用别名来提供动态内容。我使用 Mod_JK 将 Apache Httpd 配置为前端,以通过 Tomcat 提供所有动态文件。这工作正常,除非使用别名,因为 Tomcat 不知道如何处理别名。
基本上我有我的Tomcat应用程序/webapps/myApp,里面有“/folderA”,所以使用http:localhost:8080/myApp/folderA和localhost/myApp/folderA一样好。我希望能够让用户 /folderB 指向 /folderA 并提供动态内容,这就是事情失败的时候。
我让 mod_jk 一切正常,并且别名请求被重定向到 Tomcat,但是 Tomcat 不知道如何处理别名,所以它试图找到不存在的 /webapps/myApp/folderB 所以我得到一个“文件不发现”错误。
我尝试使用 a<Context path...
但后来我得到了静态内容。我还尝试使用 Apache RewriteRule 将请求从 /folderB 传递到 /folderA ,但这也不起作用。以下是我拥有的 VirtualHost 设置的示例。我猜我需要在 Tomcat 结束时做一些事情,以便它知道如何处理 /folderB 并将其指向 /folderA 或在将信息传递给 Tomcat 之前使 httpd 将 /folderB 转换为 /folderA 。
任何帮助表示赞赏。谢谢!
<VirtualHost *:80>
DocumentRoot "/webapps/ROOT"
Alias /folderB "webapps/ROOT/folderA"
JkMount /folderB/* myWorker
ServerName myServer.local
ServerAlias www.myServer.local
ErrorLog "logs/myServer.local-error.log"
</VirtualHost>