我在公司网络中运行了一个Tomcat实例。
目前,用户可以通过输入机器名称来访问它:
http://machine:8080
或者使用完全限定名称:
http://machine.company.com:8080
(这只能在内部访问)
但是,我希望他们只使用全名。有没有办法在tomcat中强制全局301重定向(可能在server.xml或conf.xml中的某个地方),通过短名称访问的任何资源都会转发(301)到长名称?
答案 0 :(得分:1)
我不喜欢这样的全局配置事物,但您可以在conf/web.xml
中在Tomcat中全局配置过滤器。您可以为此特定情况编写自己的过滤器,也可以使用url-rewrite(http://www.tuckey.org/urlrewrite/)为您执行此操作。在任何一种情况下,您都必须将您的代码(lr url-rewrite library)放在Tomcat的lib
目录中(yuck)或修改catalina.properties以重新引入“common”ClassLoader并放置您的代码(或那里(也是哎呀)。
如果您只部署了一个Web应用程序,那么您可以在一个Web应用程序中配置所有这些,而不必担心所有上述“yucks”。
另外,如果你在Tomcat面前有一个Web服务器(例如,Apache httpd),那么当然你可以在那个级别做这样的事情。