今天我一个兄弟,突然问我:http://localhost:8080/和http://localhost:8080/xxxx都能访问到工程的JSP页面.而他的要求是不允许这样的http://localhost:8080/xxxx的请求.
先说我的解决思路
1.nginx上修改凡是拦截到工程名的请求,统统重定向
2.修改tomcat/conf下的server.xml文件:
<Host name="www.my.com" appBase=""
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="webapps/xxx" reloadable="true"></Context>
</Host>
这样就可以做到去掉带工程名的请求
引申一下如果兼容工程名这样的请求,则需要这样做:
<Host name="www.my.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="xxx" reloadable="true"></Context>
</Host>
这样就可以了