현재 우리의 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/;
}
바라보다이 파일더 알아보기.