기본 도메인을 하위 폴더가 있는 URL로 리디렉션(nginx)

기본 도메인을 하위 폴더가 있는 URL로 리디렉션(nginx)

현재 우리의 nginx는 매우 잘 돌아가고 있습니다. 특정 재작성이 필요하지만 제대로 작동하지 않는 것 같습니다.

우리는 다음을 원합니다https://www.domain.com/로 리디렉션되다https://www.domain.com/xxx/. 그러나 리디렉션은 슬래시 뒤에 아무것도 없는 경우(또는 가능한 경우 후행 슬래시가 없는 경우)에만 작동해야 합니다.

나는 다음과 같은 것을 시도했다

rewrite ^ https://www.domain.com/xxx/ permanent; 

그런데 너무 많은 리디렉션이 발생합니다.

답변1

귀하의 진술에서 일치하는 정규 표현식은 다음과 같습니다 rewrite ^ https://www.domain.com/xxx/ permanent;.^어느URI. 매우 구체적인 문자열만 일치시키려고 하므로 시작 및 끝 앵커를 지정해야 합니다.

예를 들어:

rewrite ^/$ /xxx/ permanent;

정규식은 ^/$웹사이트의 루트 URI와 일치합니다. 모든 Nginx URI에는 리더가 있고 /루트 URI에는 리더가 포함되어 있습니다 /(일부 브라우저가 주소 표시줄에서 이를 숨기도록 선택한 경우에도 마찬가지임).

구성표나 호스트 이름이 변경되지 않은 경우 이를 지정할 필요가 없습니다. 바라보다이 파일더 알아보기.


또는 location = /문이 단일 URI와도 일치합니다. 예를 들어:

location = / {
    return 301 /xxx/;
}

바라보다이 파일더 알아보기.

관련 정보