我正在尝试在App Engine标准环境上运行Angular 2应用程序。在应用程序中导航时,它适用于以下app.yaml
配置:
handlers:
- url: /api/.*
script: _go_app
- url: (.*)/
static_files: static\1/index.html
upload: static
- url: (.*)
static_files: static\1
upload: static
我可以点击从/
到/clients
或/clients/234234
的链接,它可以正常使用。
但是,如果我刷新非基本路径中的浏览器,例如http://myapp.appspot.com/clients/234234
然后我收到404错误。我想我需要从我认为index.html
和(.*)/
所做的所有路径中提供我的(.*)
。
如何设置我的处理程序/应用程序,以便我可以使用HTML5路由而不是让这种情况发生?
答案 0 :(得分:3)
我有一堆需要提供的静态文件,所以我先添加了它们的映射。我(最重要的是)也改变了index.html的服务方式:
handlers:
- url: /api/.*
script: _go_app
- url: /(.*\.svg)
static_files: static/\1
upload: static/(.*\.svg)
- url: /(.*\.js)
static_files: static/\1
upload: static/(.*\.js)
- url: /(.*\.map)
mime_type: application/octet-stream
static_files: static/\1
upload: static/(.*\.map)
- url: (.*)/
static_files: static/index.html
upload: static
- url: (.*)
static_files: static/index.html
upload: static