我使用EmberJS开发了一个Web应用程序,我希望在真实服务器中部署。
当我在localhost中使用环境开发和命令ember s
进行测试时,一切正常,但是当我使用ember build --environment=production
创建分发包并使用网络服务器进行部署时(在我的情况下python -m SimpleHTTPServer 4200
当我尝试直接访问路由时,我收到以下错误。
Error response
Error code 404.
Message: File not found.
Error code explanation: 404 = Nothing matches the given URI.
如果我输入myaddress:4200
并浏览链接,则没有错,但如果我想刷新网页或更改网址,则会发生错误404.
答案 0 :(得分:0)
在检查问题Python SimpleHTTPServer和ember存储库中的一个问题之后,我实现的解决方案是通过Apache服务器执行部署并创建一个.htaccess
文件,将流量重定向到index.html
Options FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>