브라우저에 쿼리 문자열이 포함된 다시 작성된 URL이 없습니다.

브라우저에 쿼리 문자열이 포함된 다시 작성된 URL이 없습니다.

쿼리 문자열을 추가하여 URL을 다시 작성하면 브라우저의 URL에 쿼리 문자열이 없습니다. 내가 가진 것은 다음과 같습니다.

location / {
    rewrite ^/$ /?page=test break;
}

대신 루트 디렉터리를 방문하면 브라우저에 원래 URL이 표시됩니다. 다른 경로로 다시 쓸 수 있습니다.

답변1

작성된 대로 이는 단지 재작성일 뿐이며 사용자가 인식하지 못하는 사이에 웹 서버에 의해 내부적으로 처리됩니다(그리고 그래야 합니다).

재 작성 redirect라인 permanent(재작성을 위한 nginx 문서).

변형 에 주의하세요 permanent(HTTP 코드 301), 이름은 매우 문자 그대로이며 브라우저는 이를 저장하므로 나중에 이를 변경하기가 어렵습니다. 이는 새 시스템으로 마이그레이션하는 데에만 사용해야 합니다.

을 사용하면 redirect브라우저가 새 URL로 사이트를 다시 로드하게 되므로 페이지 로드 시간이 크게 지연되므로 주의해서 사용해야 합니다.

답변2

이 문제는 다음 때문에 발생합니다.이것. 쿼리 문자열로 다시 작성하면 작동합니다.

관련 정보