在我的Ember应用程序中,如果我正在本地开发,那么可以直接转至网址http://localhost:4200/some/page
。我也可以导航到应用程序本身的页面。Ember应用程序在特定URL中输入时呈现空白页面
但是,我的应用程序部署后,我去https://dev.myapp.com
我能够浏览网站很好,但如果我试图直接去一个URL(如https://dev.myapp.com/some/page
)没有任何呈现在浏览器和DOM完全是空的。但是如果我输入https://dev.myapp.com/
回到浏览器中,我可以再次开始浏览应用程序。
这是否与我如何构建或部署我的应用程序有关?或者这是我可能在Ember应用程序本身中配置错误的东西?
我还应该补充说我使用Nginx来部署我的应用程序。
这与使用“index index.html index.htm”类似吗?与nginx?这是来自ember-cli网站 – Scott
或者它是“try_files $ uri $ uri//index.html?/$request_uri;”这行吗? – Scott
我对nginx并不熟悉,但我相信这确实是最重要的一行。它指定了尝试访问特定资源的顺序,请参阅[相应的nginx文档](http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files)以获取更多信息。如果它不能作为实际存在的文件或目录进行访问,它将回退到index.html,Ember在这里做了魔术,解析URI并转换到相应的路由。 – digitalbreed