728x90
Apache 웹 서버의 mod_rewrite 모듈을 사용하여 URL 리다이렉트하는데 사용
RewriteRule /example/(.*) https://example.com/$1 [R=301, L]
- RewriteRule : 아파치의 mod_rewrite 모듈에서 URL을 재작성하기 위해 사용되는 지시어입니다.
- /example/(.*) : 이 부분은 규칙이 들어오는 URL에서 찾을 패턴입니다. "/example/"로 시작하는 모든 URL을 일치시키고 (.*)을 사용하여 그 뒤의 모든 것을 캡처합니다. .*은 임의의 문자열을 일치시키는 정규 표현식입니다.
- https://example.com/$1 : 이 것은 목표 또는 대체 URL입니다. 들어오는 URL이 패턴과 일치하면 이 URL로 리디렉션됩니다. 대체 URL의 $1은 패턴에서 캡처된 그룹(즉, (.*)에 의해 일치된 부분)을 참조합니다. 이것은 사실상 원래 URL의 경로를 새 URL에 추가합니다.
- [R=301, L] : 이 부분은 규칙의 플래그로, 리다이렉트에 대한 세부적인 동작을 지정합니다. R=301은 301 상태 코드를 사용한 리다이렉트를 의미하며, 이는 "영구적으로 이동함"을 나타냅니다. L은 "마지막"을 의미하며, 규칙이 일치하는 경우 이후의 규칙을 더 이상 적용하지 않도록 합니다.
[R=301, L] - 301 Moved Permanently (영구 이동):
- 301 Moved Permanently는 리다이렉트된 리소스가 새로운 위치로 영구적으로 이동되었음을 나타냅니다.
- 브라우저는 이를 기억하고, 이후에 해당 리소스를 요청할 때는 새로운 위치로 바로 이동합니다.
- 검색 엔진은 이를 인지하고, 기존 페이지의 랭킹을 새로운 위치로 이동합니다.
[R=302, L] - 302 Found (임시 이동):
- 302 Found는 리다이렉트된 리소스가 일시적으로 다른 위치에 있음을 나타냅니다.
- 브라우저는 이를 기억하지 않고, 사용자의 브라우저는 리다이렉션된 페이지에서 떠난 후에도 원래의 주소로 돌아갈 수 있습니다.
- 검색 엔진은 리소스가 일시적으로 이동했음을 알고, 기존 페이지의 랭킹을 변경하지 않을 수 있습니다.
따라서 선택하는 것은 상황에 따라 다르며, 일반적으로 리소스가 영구적으로 새로운 위치로 이동하면 301을,
일시적으로 다른 위치에 있을 때는 302를 사용합니다.
- [L] (Last): 현재 규칙이 매칭되면 다음 규칙들을 무시하고 종료합니다.
- [R=code] (Redirect): 지정된 HTTP 상태 코드로 리다이렉트합니다. 예를 들면 [R=301] 또는 [R=302]와 같이 사용됩니다.
- [NC] (No Case): 대소문자를 무시하여 패턴을 매칭합니다.
- [F] (Forbidden): 403 Forbidden 상태 코드로 응답합니다.
- [G] (Gone): 410 Gone 상태 코드로 응답합니다.
- [QSA] (Query String Append): 쿼리 문자열을 유지한 채로 새로운 URL로 리다이렉트합니다.
- [NC] (No Case): 대소문자를 무시하여 패턴을 매칭합니다.
- [NE] (No Escape): 특수 문자를 이스케이프하지 않고 그대로 사용합니다.
- [P] (Proxy): 프록시 요청을 보냅니다.
- [END]: Apache 2.4 이상에서 사용 가능하며, 현재 규칙 이후에 다른 모든 규칙을 무시하고 종료합니다.
728x90
반응형
'개발' 카테고리의 다른 글
이클립스에서 SVN IP 변경 방법 (0) | 2024.03.07 |
---|---|
root 인증서 추가 방법 (0) | 2023.07.14 |
NoClassDefFoundError $1 (0) | 2023.07.14 |
PL/SQL Developer 글자 크기 변경 (0) | 2023.04.06 |
eclipse weblogic server 설치 오류(JustJ Adoptium OpenJDK) (0) | 2023.02.19 |