2016-12-08 4 views
1

Я работаю с угловым 2.1.1. Я использую угловую маршрутизацию в своем приложении. Он работает нормально. Когда я нажимаю на меню, он правильно маршрутизируется. Но проблема в том, что когда я набираю URL-адрес в адресной строке, а не нажимаю на меню, я получаю сообщение об ошибке.URL Маршрутизация в угловой 2

Я думаю, что проблема в том, что когда я набираю URL-адрес и нажимаю enter, браузер отправляет запрос на сервер. Но конфигурация маршрутизации находится в клиенте. Таким образом, ответ сервера с сообщением об ошибке.

В угловом 1 был URL-адрес, который ограничивает браузер отправкой запроса на сервер. Но в угловом 2 в URL нет #.

Я могу настроить сервер так, чтобы каждый URL-адрес перенаправлялся на корневой URL-адрес. Но это не решение. Я не могу добавить ни одного URL-адреса.

Как я могу решить проблему ???

+2

Мы не можем понять, как это. Можете ли вы добавить здесь код маршрутизации? –

+0

Вы можете использовать маршрутизацию HTML5 без проблем (и хотите, чтобы SEO был проблемой), но вам нужно будет убедиться, что все, что вы используете для обслуживания приложения, обрабатывает все дочерние маршруты и перенаправляет их на страницу приложения. Так что это проблема маршрутизации на стороне сервера, вы должны задать другой вопрос, связанный с этим. – JayChase

ответ

1

Angular2 также имеет #, который используется с HashLocationStrategy и кажется, что вы используете PathLocationStrategy.

Если вы используете PathLocationStrategy, убедитесь, что сервер настроен на обслуживание запрошенной ответной реакции.

Вы можете использовать HashLocationStrategy (#) в вашем приложении, как следовать,

@NgModule({ 
    imports: [ 
    BrowserModule, 
    FormsModule, 
    RouterModule.forRoot(routes, { useHash: true }) // ...<<<---here 
    ], 
    declarations: [ 
    AppComponent 
    ], 
    bootstrap: [ AppComponent ] 
}) 
export class AppModule { 
} 

Дополнительная литература: - https://angular.io/docs/ts/latest/guide/router.html взгляд на HashLocationStrategy

+0

Если я хочу использовать PathLocationStrategy, тогда есть ли способ решить проблему? –

+0

Затем убедитесь, что сервер настроен на обслуживание страниц, которые вы хотите. сервер должен быть настроен. Например, если вы используете .net mvc5, убедитесь, что маршрутизация mvc5 достаточно для обслуживания страниц. – micronyks

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