2016-03-17 2 views
1

Я компилирую мое приложение для режима производства с помощью этой команды:Deploy уголек дает UnrecognizedURLError

sudo ember build --environment=production 

Затем скопировать содержимое DIST карты в карту в FileZilla.

Когда я иду в subdomain.domain.eu/myRoute/44444, я получаю:

Uncaught UnrecognizedURLError

Когда я иду в subdomain.domain.eu/index.html, то приложение загружается, но мне нужно 44444 от urlin моего приложения в качестве параметра.

Как это происходит и каково решение?

Мой файл .htaccess:

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

потенциала для разработки и производства дает те же результаты. Текущая ошибка, которую я получаю, составляет 500 внутренних ошибок сервера.

+0

Может возникнуть проблема с файлом .htaccess, приложите его, пожалуйста, – Pavol

+0

Я включил его –

+0

Не могли бы вы построить для разработки и развертывания это, чтобы увидеть, есть ли у вас другая ошибка в консоли? –

ответ

2

Так как вы (очень вероятно, если вы не используете старую версию Ember или явно это разрешено), не используя хэш на основе URL-адресов, ваше правило переписан, вероятно выглядеть следующим образом:

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

The PT необходимо, чтобы не изменять URL-адрес, и QSA хранит любые прилагаемые строки запросов. Видимо, PT is apparently the default anyway for .htaccess files, но это не помешает сделать это явным.

Причина в том, что вы хотите, чтобы Apache не заботиться о вашем URL-адресе и обслуживать index.html для всего. Но поскольку Ember нуждается в исходном URL-адресе, чтобы узнать, какой маршрут он должен использовать, URL-адрес должен быть неизменным в отношении клиента.

Смежные вопросы