2014-04-23 3 views
0

저는 IE9를 지원해야하는 AngularJS/Rails 응용 프로그램을 개발 중입니다. 필자가 읽은 것부터, AngularJS 구성에서 html5Mode를 true로 설정해야합니다. AngularJS 구성에서는이를 지원하는 브라우저에 HTML5 기록 API를 사용하고 이전 브라우저의 경우 hashbang URL로 폴백해야합니다. 환상적인 ng-book에서AngularJS IE9 문제 이해

, 그것은 말한다. 측면 HTML5 모드를 지원하기 위해, 서버가 에 있는지 확인해야합니다

"백 엔드 서버 URL이 서버에 재 작성 지원해야합니다 모든 앱의 index.html 페이지를 전달하면 앵귤러 앱에서 경로를 처리 할 수 ​​있습니다. "

구체적으로 의미하는 것은 무엇입니까? 내 서버 측 코드에서 hashbang URL을 감지하고이를 non-hashbang에 해당하는 것으로 직접 변환해야합니까?

내 AngularJS 콘텐츠가 /v2/challenges/new (IE9에 /#!/v2/challenges/new으로 표시됨) 인 경우, 이는 서버 측 코드가 #! /v2/challenges/new과 동일한 콘텐츠를 제공 하시겠습니까?

나는 또한 어떻게 hashbang 구문에 빠져서 IE9 문제를 우회하는지 이해하지 못합니까?

답변

1

각도 SPA 앱이 /foo에 호스팅 된 경우 사용자가 주소 표시 줄에 /foo/angular-route을 시도하거나 북마크를 통해 웹 서버에 접속하려고 시도하는 것과 같이 서버에 직접 연결되는 경로 /foo에 콘텐츠를 반환하고 각도가 라우팅을 처리하도록해야합니다. /angular-route

해시 라우팅 웹 서버는 기본적으로 # 이후의 내용을 무시합니다. 기본적으로 웹 서버 /foo#/abc/foo과 동일하게 처리되며 웹 서버가 동일한 방식으로 작동하도록 구성해야합니다 (#

).