Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度和Tomcat url_Angular_Tomcat - Fatal编程技术网

Angular 角度和Tomcat url

Angular 角度和Tomcat url,angular,tomcat,Angular,Tomcat,我已经在Tomcat下发布了一个angular应用程序,它可以正常工作,但一旦用户刷新页面Tomcat回答说他找不到URL(之前使用angular路由处理),另一方面,使用localhost“ng serve”它就可以正常工作 你知道怎么解决吗 谢谢如果服务器上没有重定向规则,应用程序深度链接将无法工作。服务器必须将所有深层链接重定向到应用程序index.html 设置tomcat重定向任何深度链接- 在server.xml中配置重写阀 在rewrite.config中写入重写规则 1。在ser

我已经在Tomcat下发布了一个angular应用程序,它可以正常工作,但一旦用户刷新页面Tomcat回答说他找不到URL(之前使用angular路由处理),另一方面,使用localhost“ng serve”它就可以正常工作

你知道怎么解决吗


谢谢

如果服务器上没有重定向规则,应用程序深度链接将无法工作。服务器必须将所有深层链接重定向到应用程序
index.html

设置tomcat重定向任何深度链接-

  • 在server.xml中配置重写阀
  • 在rewrite.config中写入重写规则
  • 1。在server.xml中配置重写阀

    编辑~/conf/server.xml以在主机部分中添加以下阀门,如下所示-

    ...
          <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
    
            <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
    
    ...
          </Host>
    ...
    
    设置此选项后,重新启动tomcat服务器,您可以点击应用程序的深层链接,该链接将路由到angular应用程序中的正确组件

    RewriteCond %{REQUEST_PATH} !-f
    RewriteRule ^/hello/(.*) /hello/index.html
    

    有关更多详细信息,请参阅。

    可能需要将
    {provide:LocationStrategy,useClass:HashLocationStrategy},
    添加到app.module中的提供程序。您是否有类似spring(+mvc)的服务器端框架在战争中也捆绑了吗?谢谢,但是Apache和Apache Tomcat是不同的,例如,我没有.htacess隐藏文件tp放入常规expression@itsallas不,它只是一个ApacheTomcat文件夹