tomcat - Tomcat 9为子域配置301重定向到域
问题描述
如何使用 tomcat 从 www 子域到根域进行 301 重定向。
我尝试了以下但没有成功,www 子域仍在显示。我可能遗漏了一些东西,但我无法弄清楚遗漏了什么。
对于我们在 liferay 7 社区中构建的项目,它是一个多租户,只有一个 tomcat 服务器(前面没有 apache 或 nginx),我需要将使用 www 子域访问的 URL 重定向到根域。
我正在尝试重写阀,但我不知道如何以及在 server.xml 中写入它的位置
我最好的尝试:在 server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!-- Added valve -->
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve"/>
</Host>
我添加了最后一个阀门。
在 WEB-INF 我创建了一个文件:rewrite.config 我添加了:
RewriteCond %{REMOTE_HOST} ^www.*$
RewriteRule ^www.* %{REMOTE_HOST} [L]
我需要的重定向是 301 仅适用于 www 子域,而不适用于 URI。
上述测试不起作用,因为我仍然可以访问 www 子域。
解决方案
推荐阅读
- javascript - Django多对多字段的Javascript数组
- python - 如何从这两个文件中找到前 100 个名称?
- php - 数据库中存在单引号或双引号的 MySQL 搜索
- regex - 捕获组中的正则表达式负前瞻
- aws-lambda - Amazon Cloudwatch JSON 格式不正确
- ios - swift中关于委托和协议的问题(示例)
- java - Spring Boot 将数据发布到 url 实现
- java - 找不到 com.google.firebase:firebase-database:16.0.0。在以下位置搜索 android app
- json - 将 Groovy Json 解析为键值
- python - 我如何通过原始张量操作构建的 PyTorch LSTM 反向传播(例如,不是`nn.LSTM`)