我正在使用Tomcat 8和UrlReWriteFiler。我有一个奇怪的请求,没有太多细节,我需要启用运行在本地计算机上的tomcat将localhost:8080/project/..
路由到localhost:8080/project/data
。
我正在尝试运行一个hello world示例。我意识到这是一个非标准要求,但问题来自于在不同环境中运行插件的应用程序,该文件在相对于当前文件夹".."
的文件夹中查找文件。
我希望通过路由从localhost:8080/project/..
到localhost:8080/project/data
的任何内容来启用本地计算机上的插件开发。
urlwrite.xml:
<urlrewrite>
<rule>
<name>Dev Development</name>
<condition name="host" operator="equal">^localhost:8080/.*/..</condition>
<from>^localhost:8080/(.*)/\.\.$</from>
<to type="permanent-redirect" last="true">http://localhost:8080/$1/data</to>
</rule>
</urlrewrite>
的web.xml:
<web-app id="simple" version="2.4">
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<welcome-file-list>
<welcome-file>hello.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/data</url-pattern>
</servlet-mapping>
</web-app>