在谷歌应用程序引擎找不到角6条航线(Angular 6 routes not found on Go

2019-10-29 16:39发布

我部署在谷歌应用程序引擎的角度6应用程序。 该app.yaml的配置看起来像这样:

runtime: python27
api_version: 1
threadsafe: true

skip_files:
- (?!^dist)

handlers:
- url: /
  static_files: dist/index.html
  upload: dist/index.html

- url: /(.*)
  static_files: dist/\1
  upload: dist/(.*)

一切工作正常,直到我重新加载页面的路线上或路线(如myapp.com/route)直接访问网站,我可以访问一切。 这样做,我得到一个The requested URL /route was not found on this server错误消息。

Answer 1:

之所以404未找到被显示在页面刷新的是,所有Angular2路线应通过index.html文件送达。

您可以通过添加一个.htaccess文件(在其中的index.html所在的同一目录中)包含以下内容解决这个问题。

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . index.html [L]
</IfModule>


文章来源: Angular 6 routes not found on Google App Engine