我有一个使用Ember-App-Kit(EAK)提供的初学者工具包的小ember应用程序。我已经在构建生产版后将dist-dir上传到AWS EC2示例。
我目前面临的问题:
1.当我点击根url时,我可以看到索引页面,同时从索引页面中的链接转到任何其他路径,它工作正常,让我转到该页面。当我尝试刷新该页面时,就会出现问题。
首先,我认为这是由于权限错误,但这只是一个html文件,js和css正在正确加载。然后认为可能是htaccess问题,所以尝试插入一个,但之后也没有效果。应用程序源代码的条带化版本驻留在Source Code中
用于重定向的.htaccess文件::
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule ^(.*)$ /index.html [L]
4条答案
按热度按时间jogvjijk1#
实际上,我不知道如何使用Apache服务器来实现这一点,所以我安装了nginx,它使用了我在配置文件中提供的重写规则。
您可以在此处找到更多讨论:Ember-App-Kit Git Repo Issue 486
ut6juiuv2#
如this post中所述,使用FallbackRessource是完成此任务的最简单方法:
它可以在
.htaccess
中使用,但由于.htaccess对每个请求都进行了解析,所以我建议将其放在httpd中。conf或虚拟主机。c3frrgcw3#
无论访问什么URL,您都需要确保web服务器为您的“索引”页面提供服务。
对于Apache,您通常会使用重写规则,这里有一些关于为Ember设置重写规则的讨论http://discuss.emberjs.com/t/apache-rewrite-rule-for-html5-browser-history-url-bookmarkability/1013
iyzzxitl4#
您需要在环境中设置
locationType: 'hash'
。js在构建之前。