我使用此命令编译我的应用程序的生产模式:
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内部服务器错误。
答案 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必须保持不变。