我正在使用react js和nodejs开发应用程序。当我在本地计算机上运行该应用程序时,它可以作为示例正常工作
localhost:3000/AboutUs
localhost:3000
当我刷新上述URL时,它将显示正确的网页。我在Google App Engine中部署了此应用程序,当刷新以下页面时,它表明未找到所请求的URL。有人能让我知道原因吗?
www.mydomain.com/AboutUs
app.yaml代码如下
runtime: nodejs8
handlers:
- url: /api/.*
# secure: always
# redirect_http_response_code: 301
script: auto
- url: /
static_files: build/index.html
upload: build/index.html
答案 0 :(得分:0)
这是因为您没有定义的处理程序来定向/AboutUs
URL。您可以在handlers
下添加:
- url: /AboutUs
script: auto
或在网址列表的末尾添加通配符处理程序,例如:
runtime: nodejs8
handlers:
- url: /api/.*
# secure: always
# redirect_http_response_code: 301
script: auto
- url: /
static_files: build/index.html
upload: build/index.html
- url: /.*
script: auto
将通配符处理程序/.*
保留在最后很重要,因为否则所有URL都将落入该通配符处理程序,并且它将不使用其他URL处理程序。
在网址的script
,static_files
和upload
标记中还缺少两个空格,我不知道这是否是由于复制{{ 1}}内容作为答案,但是无论哪种方式,都是indentation is important在YAML文件中。