2017-11-05 4 views
1

사이트를 이전하고 모든 내 제품 URL을 최상위로 가져 왔습니다.Nginx 다시 쓰기 규칙 - 모든 하위 폴더

예 :

올드 URL : http://www.example.com/sub/folder/product.asp 올드 URL : http://www.example.com/sub1/folder1/product.asp

새로운 URL : 나는 그것을 필요로 어떻게 작업 할 수있는 nginx를 다시 쓰기 규칙을 얻기 위해 고군분투 http://www.example.com/product.asp

. 기본적으로 * .asp로 끝나는 항목은 모든 폴더 경로를 제거해야합니다.

답변

0

.asp으로 끝나는 URI를 식별해야합니다.이 URI는 둘 이상의 /을 포함해야합니다. 가능한 해결책은 다음과 같습니다.

rewrite ^/.+(/[^/]+\.asp)$ $1 permanent; 

자세한 내용은 this document을 참조하십시오.

+0

그건 .... 두 번째 백 슬래시가 빠졌습니다. 완벽합니다. 죄송합니다. 충분한 상담원이 없기 때문에 죄송합니다. –

+0

리디렉션 규칙의 수를 줄이기 위해이 방법을 사용하고 있습니다. 즉, 7 가지 카테고리에서 동일한 제품을 사용하고 있으므로 7 개의 리디렉션을 추가하는 대신이 방법을 사용합니다. 루트로 설정하면 실제 제품 위치로 리디렉션됩니다. ie product1a.html. 내가 지금 가지고있는 것은 nginx에서 2 홉 리다이렉트이고, magento에서 2 번째 리다이렉트 다. 거기에 응답 헤더를 출력하지 않고 단지 내부적으로 리디렉션 그래서 내가 nginx 한 서버 쪽 리디렉션 할 수있는 방법이 있나요? –

+0

'permanent'접미어를 삭제하여 내부 리디렉션으로 다시 작성할 수 있습니다. 그러나 Magento가 내부 리디렉션을 인식하지 못할 수도 있습니다. –