2016-06-04 4 views
3

Я пытаюсь решить проблему, когда обновление страницы Angular2 приводит к ошибке 404. Когда я пытаюсь реализовать HashLocationStrategy, это, похоже, не имеет никакого отношения к генерируемым URL-адресам.HashLocationStrategy не влияет на Angular2 RC1

Мой main.ts файл:

import { bootstrap } from '@angular/platform-browser-dynamic'; 
import { provide } from '@angular/core'; 
import { AppComponent } from './app.component'; 
import { ROUTER_PROVIDERS } from '@angular/router'; 
import { LocationStrategy, HashLocationStrategy } from '@angular/common'; 

bootstrap(AppComponent, [ 
    ROUTER_PROVIDERS, 
    provide(LocationStrategy, {useClass: HashLocationStrategy}) 
]); 

ответ

1

Вместо использования подхода hashbang, решаемого с использованием конфигурации сервера. Добавлен файл .htaccess:

RewriteEngine On 
    # If an existing asset or directory is requested go to it as it is 
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR] 
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d 
    RewriteRule^- [L] 

    # If the requested resource doesn't exist, use index.html 
    RewriteRule^/index.html 
0

Попробуйте добавить

<base href="#">

внутри <head></head> раздела в вашем index.html.

+0

Я думаю, что это должно быть ''. Что такое '#'? –

+0

@ GünterZöchbauer # должен служить якорем, поэтому нет «реального» перенаправления – swaechter

3

Рассматривайте использование устаревшего маршрутизатора на данный момент. Текущий маршрутизатор не был завершен и заменен новым, новым маршрутизатором.

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