라이브러리
[APACHE] RewriteRule - URL 재작성 규칙을 정의합니다.
RewriteRule 소개
Apache의 RewriteRule은 URL을 재작성하는 데 사용되는 명령어입니다. RewriteRule은 URL을 변경하거나 리다이렉트하는 데 사용할 수 있습니다. RewriteRule은 Apache의 mod_rewrite 모듈에 의해 지원됩니다.
RewriteRule 문법
RewriteRule 문법은 다음과 같습니다.
#hostingforum.kr
RewriteRule 패턴 대체 [옵션]
* 패턴: URL 패턴을 지정합니다. 패턴은 정규표현식을 사용할 수 있습니다.
* 대체: 패턴이 일치하는 경우 대체할 URL을 지정합니다.
* 옵션: 옵션은 RewriteRule의 동작을 변경할 수 있습니다. 예를 들어, [R] 옵션은 리다이렉트를 수행합니다.
RewriteRule 옵션
RewriteRule 옵션은 다음과 같습니다.
* [R]: 리다이렉트를 수행합니다.
* [L]: RewriteRule이 현재 URL을 처리한 경우, 다른 RewriteRule이 실행되지 않습니다.
* [NC]: 패턴이 대소문자 구분없이 일치합니다.
* [QSA]: 쿼리 문자열을 합칩니다.
예제 1: URL을 재작성하는 예
다음 예제는 URL을 재작성하는 예입니다.
#hostingforum.kr
RewriteEngine On
RewriteRule ^blog/([0-9]+)/?$ /post.php?id=$1 [L]
이 예제는 URL의 형태가 `/blog/123` 인 경우 `/post.php?id=123` 로 재작성됩니다.
예제 2: 리다이렉트하는 예
다음 예제는 리다이렉트하는 예입니다.
#hostingforum.kr
RewriteEngine On
RewriteRule ^old-url$ /new-url [R=301,L]
이 예제는 URL의 형태가 `/old-url` 인 경우 `/new-url` 로 리다이렉트됩니다.
예제 3: 쿼리 문자열을 합치는 예
다음 예제는 쿼리 문자열을 합치는 예입니다.
#hostingforum.kr
RewriteEngine On
RewriteRule ^blog/([0-9]+)/?$ /post.php?id=$1 [QSA,L]
이 예제는 URL의 형태가 `/blog/123?a=1` 인 경우 `/post.php?id=123&a=1` 로 재작성됩니다.
RewriteRule 사용 시 주의점
RewriteRule을 사용할 때 주의할 점은 다음과 같습니다.
* RewriteRule은 URL을 재작성하거나 리다이렉트할 때 사용됩니다. 그러나 RewriteRule은 URL을 변경할 때 사용되는 것이 아님을 기억하세요.
* RewriteRule은 패턴과 대체를 지정해야 합니다. 패턴은 URL의 일부를 지정하고 대체는 패턴이 일치하는 경우 대체할 URL을 지정합니다.
* RewriteRule 옵션을 사용할 때 주의할 점은 옵션을 잘못 사용하면 URL이 재작성되지 않거나 리다이렉트되지 않을 수 있습니다.
댓글목록
등록된 댓글이 없습니다.