我有一个非常简单的单页静态网站,存储在
/site/wwwroot/webapps/ROOT/
下的 Azure WebApp 中
Azure 支持各种 Tomcat
选择最新版本的 Tomcat 9(9.0.63,在撰写本文时受 Azure 支持)时,只能通过 www.example.com/ROOT
访问该网站简单降级到 Tomcat 9.0.54,即可通过 www.example.com 访问该网站
如何让网站在没有
/ROOT
的情况下在 Tomcat 9.0.63 中运行?
我尝试更改添加配置/应用程序设置
SERVER_SERVLET_CONTEXT_PATH = /ROOT
我尝试添加
<context-param>
`<param-name>contextPath</param-name>`
`<param-value>/ROOT</param-value>`
</context-param>
到
WEB-INF/web.xml
我还在这个问题中看到了 Azure 中 Tomcat 9.0.54 和 9.0.62 之间的差异。我还看到 here Microsoft 建议降级到 Tomcat 9.0.54。
通常,将 Web 应用程序部署到 Tomcat 容器时,上下文路径决定可访问该应用程序的 URL。如果您想直接访问您的网站而不使用“/ROOT”上下文路径
META-INF
目录中,您可能有一个 context.xml
文件(或者您可以创建一个)。添加具有路径属性的上下文元素。<Context path="" docBase="your-webapp-name" />
配置:
部署到网络应用程序后。转到 设置>配置>路径映射查看虚拟应用程序和目录,将其配置为将根路径(“/”)映射到您的 Web 应用程序。
/
并将其映射到物理路径 /site/wwwroot/webapps/ROOT/
,您可以告诉 Azure 将 /site/wwwroot/webapps/ROOT/
目录中的内容视为根 URL 处的 Web 应用程序的内容。当用户访问您网站的 URL 时,Azure 将直接提供 /site/wwwroot/webapps/ROOT/
目录中的内容,而不附加任何其他上下文路径(例如“/ROOT”)。