首页 > 解决方案 > 如何将 tucky URL 重写与 Angular 和 Tomcat 7 集成

问题描述

我使用 Tomcat 7 服务器并将我的 angular 5 项目复制到 ROOT 目录中。深层链接目前不起作用。我曾尝试使用 tucky URL rewrite。

我在 ROOT 目录中创建了一个 WEB-INF 文件夹。在其中我创建了一个名为 lib 的文件夹并将文件“urlrewritefilter-4.0.3 .jar”保存在那里。

WEB-INF 文件夹还包含一个 urlrewrite.xml 文件和一个 web.xml。

我希望有人可以帮助我解决这个问题。

    <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<!--
Configuration file for UrlRewriteFilter
http://www.tuckey.org/urlrewrite/
-->
<urlrewrite>
<rule match-type="regex">
    <note>
        Redirect all http requests to angulars index. html except /tcc/* cause its needed for backend operations
    </note>
    <condition name="request-uri" operator="notequal">^/tcc/*</condition>
    <from>^.*$</from>
    <to type="permanent-redirect" last="true">http://localhost:8080</to>
</rule>
</urlrewrite>

web-app xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
 version="2.4">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
<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>
</web-app>

标签: url-rewritingtomcat7angular5

解决方案


我无法让塔基跑起来。我将 Angular 的路由方法更改为 # 路由以满足我的需要。运行此程序的另一个可行方法是更新到 tomcat 8 并使用 inbuild 机制。


推荐阅读