RewriteRule 설정
페이지 정보
작성자 관리자 (61.♡.26.87) 작성일 20-02-08 22:32 조회 2,812 댓글 0본문
* 출처 : https://www.lesstif.com/pages/viewpage.action?pageId=18219493
ㅁ 기본 문법
RewriteRule 의 기본적인 문법은 다음과 같은 형식으로 사용한다.
RewriteRule pattern target_url [flag,flag,flag,…]
ㅁ Flag
[L] - Last 플래그는 더이상 mod_rewrite 룰 처리를 하지 않겠다는 의미이다.
[NC] – Nocase 는 패턴 매칭할 경우 대소문자 구분을 하지 않겠다는 의미이다.
[F] – Forbidden 플래그는 규칙에 일치할 경우 해당 리소스에 대해 HTTP 403 Forbidden 응답을 클라이언트에게 전송한다.
RewriteEngine On
RewriteRule \.(exe|msi) - [F]
[R] – 리다이렉트 플래그는 규칙에 일치할 경우 HTTP 302 Redirect 응답을 클라이언트에게 전송한다. 만약 HTTP 301 Moved Permanently 응답을 전송해야 한다면 R=301 로 적어주면 된다.
다음은 images 경로 밑에 모든 gif 요청을 jpg URL로 전환하는 예제이다.
RewriteRule ^/images/(.*)\.gif /jpegs/$1.jpg [L,R=301]
[QSA] – mod_rewrite 는 기본적으로 클라이언트가 GET 으로 전송한 변수를 무시한다. 이 변수 값은 QUERY_STRING 이라는 변수명에 저장된다. QSA(Query String Append) 플래그를 사용하면 QUERY_STRING 을 무시하지 않고 유지시키므로 URL 전환시에도 문제가 없다.
ㅁ RewriteCond
ㅁ 예제
RewriteCond %[REQUEST_URI] ^/board/board.php [OR] # OR 는 또는, Cond 가 여러개일때
RewriteCond %[REQUEST_URI] ^/sitemap/sitemap.php [NC] # NC 는 NoCase
RewriteRule ^(.*) /gnu/ [R,L] # R(Redirect) 이 있으면 주소창의 주소가 변하고, 없으면 안변한다.
* 참고
https://httpd.apache.org/docs/2.4/rewrite/proxy.html
https://www.lesstif.com/pages/viewpage.action?pageId=18219493
https://www.codeofaninja.com/2013/04/mod-rewrite-url.html
ㅁ 기본 문법
RewriteRule 의 기본적인 문법은 다음과 같은 형식으로 사용한다.
RewriteRule pattern target_url [flag,flag,flag,…]
ㅁ Flag
[L] - Last 플래그는 더이상 mod_rewrite 룰 처리를 하지 않겠다는 의미이다.
[NC] – Nocase 는 패턴 매칭할 경우 대소문자 구분을 하지 않겠다는 의미이다.
[F] – Forbidden 플래그는 규칙에 일치할 경우 해당 리소스에 대해 HTTP 403 Forbidden 응답을 클라이언트에게 전송한다.
RewriteEngine On
RewriteRule \.(exe|msi) - [F]
[R] – 리다이렉트 플래그는 규칙에 일치할 경우 HTTP 302 Redirect 응답을 클라이언트에게 전송한다. 만약 HTTP 301 Moved Permanently 응답을 전송해야 한다면 R=301 로 적어주면 된다.
다음은 images 경로 밑에 모든 gif 요청을 jpg URL로 전환하는 예제이다.
RewriteRule ^/images/(.*)\.gif /jpegs/$1.jpg [L,R=301]
[QSA] – mod_rewrite 는 기본적으로 클라이언트가 GET 으로 전송한 변수를 무시한다. 이 변수 값은 QUERY_STRING 이라는 변수명에 저장된다. QSA(Query String Append) 플래그를 사용하면 QUERY_STRING 을 무시하지 않고 유지시키므로 URL 전환시에도 문제가 없다.
ㅁ RewriteCond
ㅁ 예제
RewriteCond %[REQUEST_URI] ^/board/board.php [OR] # OR 는 또는, Cond 가 여러개일때
RewriteCond %[REQUEST_URI] ^/sitemap/sitemap.php [NC] # NC 는 NoCase
RewriteRule ^(.*) /gnu/ [R,L] # R(Redirect) 이 있으면 주소창의 주소가 변하고, 없으면 안변한다.
* 참고
https://httpd.apache.org/docs/2.4/rewrite/proxy.html
https://www.lesstif.com/pages/viewpage.action?pageId=18219493
https://www.codeofaninja.com/2013/04/mod-rewrite-url.html
추천0
댓글목록 0
등록된 댓글이 없습니다.