2014-09-10 4 views
2

각도 앱과 HTML5 푸시 상태 링크를 사용하려고합니다. 다음 때 같이 브라우저에 URL을 표시/제품/ABC123 - 내가 가지고있는 것은 내가 탐색 할 때이 [호스트]/#/제품/ABC123으로 작동각도 - UI 라우터 경로 - HTML5 모드

$stateProvider.state('product', { 
    url: '/product/:productCode', 
    templateUrl: 'product/product.html', 
    controller: 'ProductCtrl' 
    } 
}); 

다음과 같은 경로의 연속이다 내 다른 경로 (ui-sref 사용)를 클릭하기 시작하면 모든 것이 예상대로 작동합니다.

그러나 브라우저를 새로 고치고 동일한 상태로 유지할 수있을뿐만 아니라 해당 링크를 복사하여 붙여넣고 올바른 상태로 라우트 할 수 있기를 바랍니다.

예 : [host]/product/ABC123에 도착하면 #/product/ABC123 경로의 내용을 표시하고 싶습니다. 현재, 이것은 나를 찾지 못할 것이다.

내 응용 프로그램 서버로 nginx를 사용하고 있습니다. 나는 그 수준에서 그것을 처리하기 위해 무언가를 추가해야한다고 믿지만, 어디서부터 시작해야할지 모르겠습니다.

답변

3

문제는 서버가 /product/ABC123에 응답하는 방법을 모른다는 것입니다.

현재 앵귤러와 함께 백엔드에 node.js를 사용하고 있습니다.이 문제를 해결하기 위해 경로의 각도 앱을 반환합니다. 예를 들어 일반적인 루트 경로가 아닙니다. 과거에이 같은

그래서 당신이 사용했을 수도 뭔가 : 단지 루트 경로의 각 응용 프로그램을 반환 것

app.get('/', ...);

. 모든 경로에 대한 각 응용 프로그램을 반환합니다

app.get('*', ...);

: 지금은 같은 것을 사용합니다.


정적 파일과 같은 다른 경로 뒤에있는 캐치 역할을 할 수 있다고 언급해야합니다. 또 다른 대안은 각 응용 프로그램을 위해 특별히 원하는 모든 경로를, 예를 들어, 표시하는 것입니다 :

app.get('/', ...); app.get('/product/:productId', ...); etc

+0

이 원인 문제 나 각도로 이동하지 않는 일부 경로를 경우하지 않을까요? (예 : 다양한 서비스에 대한 역방향 프록시 경로, 정적 .css 파일 등) – Ren

+0

이 업데이트되었습니다. –

+0

알았습니다! 고마워. – Ren

관련 문제