라이브러리

[APACHE] RewriteCond - 특정 조건에서만 URL을 재작성하도록 설정합니다.




RewriteCond란?

RewriteCond는 Apache의 mod_rewrite 모듈에서 사용되는 조건문입니다. RewriteCond는 RewriteRule과 함께 사용하여 URL을 리다이렉트하거나 조건에 따라 처리할 수 있도록 합니다.

RewriteCond의 구조

RewriteCond의 구조는 다음과 같습니다.

#hostingforum.kr


RewriteCond %{변수명} 조건문



* `%{변수명}` : Apache가 제공하는 변수를 지정합니다. 예를 들어, `%{HTTP_HOST}`, `%{REQUEST_URI}`, `%{QUERY_STRING}` 등이 있습니다.
* `조건문` : 변수의 값을 비교하거나 조건을 지정합니다. 예를 들어, `^example.com$`, `!^example.com$`, `= 200` 등이 있습니다.

RewriteCond의 예제

1. 도메인 이름에 따라 리다이렉트

#hostingforum.kr


RewriteCond %{HTTP_HOST} ^example.com$

RewriteRule ^$ http://example.net/ [R=301,L]



이 예제는 `example.com` 도메인으로 접근했을 때 `example.net`으로 리다이렉트합니다.

2. GET 매개변수에 따라 리다이렉트

#hostingforum.kr


RewriteCond %{QUERY_STRING} ^param1=([^&]+)&param2=([^&]+)$

RewriteRule ^$ http://example.net/?param1=%1&param2=%2 [R=301,L]



이 예제는 `param1`과 `param2` 매개변수가 포함된 GET 요청을 받았을 때, 매개변수의 값을 포함하여 `example.net`으로 리다이렉트합니다.

3. URL 경로에 따라 리다이렉트

#hostingforum.kr


RewriteCond %{REQUEST_URI} ^/path/to/page$

RewriteRule ^$ http://example.net/new-page [R=301,L]



이 예제는 `/path/to/page` 경로로 접근했을 때 `/new-page`으로 리다이렉트합니다.

4. HTTP 상태 코드에 따라 리다이렉트

#hostingforum.kr


RewriteCond %{HTTP_HOST} ^example.com$

RewriteCond %{HTTP_HOST} !^example.net$

RewriteRule ^$ http://example.net/ [R=301,L]



이 예제는 `example.com` 도메인으로 접근했을 때, HTTP 상태 코드가 200이 아닐 때 `example.net`으로 리다이렉트합니다.

RewriteCond의 사용 사례

RewriteCond는 다양한 사용 사례에 사용될 수 있습니다. 예를 들어, 다음과 같은 경우에 사용할 수 있습니다.

* 도메인 이름에 따라 리다이렉트
* GET 매개변수에 따라 리다이렉트
* URL 경로에 따라 리다이렉트
* HTTP 상태 코드에 따라 리다이렉트
* 파일 확장자에 따라 리다이렉트
* 사용자 에이전트에 따라 리다이렉트

RewriteCond는 Apache의 mod_rewrite 모듈의 강력한 기능 중 하나입니다. RewriteCond를 사용하여 URL을 리다이렉트하거나 조건에 따라 처리할 수 있도록 할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 58건 / 1 페이지

검색

게시물 검색