Deploy ember提供UnrecognizedURLError

时间:2016-03-17 10:28:14

标签: ember.js

我使用此命令编译我的应用程序的生产模式:

sudo ember build --environment=production

然后我将dist地图的内容复制到filezilla中的地图中。

当我去subdomain.domain.eu/myRoute/44444时,我得到:

  

Uncaught UnrecognizedURLError

当我去subdomain.domain.eu/index.html时,应用程序会加载,但我需要来自我的应用程序的urlin 44444作为参数。

这是怎么来的,解决方案是什么?

我的.htaccess文件:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.html#$1 [L]

为开发和生产而建立产生相同的结果。 我得到的当前错误是500内部服务器错误。

1 个答案:

答案 0 :(得分:2)

由于您(非常可能,除非您使用旧的Ember版本或明确启用此功能)不使用基于散列的网址,否则您的重写规则可能应如下所示:

RewriteRule ^(.*)$ /index.html [PT,QSA]

需要PT不更改URL,而QSA会保留任何附加的查询字符串。 显然,PT is apparently the default anyway for .htaccess files但是要明确这一点并不会有害。

原因是您希望Apache 关心您的URL并为所有内容提供index.html。但由于Ember需要原始URL来识别它应该服务的路由,因此就客户端而言,URL必须保持不变。