【问题标题】:Refresh issue after deploy angular2 project into tomcat server?将angular2项目部署到tomcat服务器后刷新问题?
【发布时间】:2017-04-27 13:15:49
【问题描述】:

生产构建后,我已将项目部署到 tomcat 服务器。当我在浏览器中打开它时,它正在完美打开并且路由也可以正常工作。但是当我刷新浏览器时显示错误 404。我的 tomcat 文件夹结构如下

build path
tomcat
  --webapps
     --prod
           --assets
           --css
           --js
           index.html

http://localhost:8080/prod/

seed.config.ts

APP_BASE = argv['base'] || '/';

index.html

<base href="/prod/">

这个问题只有在刷新页面时才会遇到。请任何人帮助我解决这个问题。 提前致谢

【问题讨论】:

    标签: tomcat angular2-routing


    【解决方案1】:

    听起来您正在使用 HTML5 路由(不带 #),因此您需要一些服务器配置才能将所有请求(减去文件和文件夹)路由到 index.html。根文件夹的 .htaccess 文件中的以下内容应该可以修复它:-

    RewriteEngine On 
    Options FollowSymLinks
    
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /#/$1 [L]
    

    编辑:- 以上是针对 Apache 服务器的,当涉及到 Tomcat 服务器时同样适用 - 您需要将所有流量重定向到您的 index.html 文件。我可以写出来,但Andrew Mairose's answer 详细说明了如何做到这一点,因此无需重新发明轮子。

    【讨论】:

    • 我也写了 .htaccess 文件。 sample.htaccess RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR] RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d RewriteRule ^ – [L] RewriteRule ^ /index.html [L]如何使用这个htaccess文件请解释
    • 您好,更新了我的答案,因为 .htaccess 在 Tomcat 服务器上不起作用 - 抱歉。
    • 如何解决这个问题。请任何人帮助我。
    猜你喜欢
    • 2021-11-16
    • 2015-10-20
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多