apachec rewrite 사용하기 // www 강제 사용 // HTTP to HTTPS // 특정경로만 HTTP

by 조쉬 posted Dec 30, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

RewriteEngine On


RewriteCond %{HTTP_HOST} !^www\. [NC]

RewriteRule ^(.*)$ http://www.domain.co.kr/$1 [L,R=301]

#HTTP_HOST 가 www가 안붙어 있다면 rewriterule을 이용하여 www.domain.co.kr로 강제로 보내버린다


RewriteCond %{SERVER_PORT} !^80$

RewriteRule   "^/match/(.+)"  "http://%{HTTP_HOST}/match/$1"  [R,L]

#HTTPS로 연결된(SERVER_PORT가 80이 아닌경우) 연결중 /match/가 중간에 포함되면 http(80)로 보내버린다

#예) https://www.domain.co.kr/match/abc.jsp --> http://www.domain.co.kr/match/abc.jsp

# 특정경로만 HTTPS를 적용하지 않으려면 위와 같이 설정을 해준다


RewriteCond %{SERVER_PORT} !^443$

RewriteRule ^(.*)$ https://www.domain.co.kr/$1 [L,R=301] 

#HTTPS(443)이 아닌 포트에서 들어오는 접속을 HTTPS(443)로 강제로 보내 모든연결을 HTTPS를 사용하도록 설정한다


주석을 제거하면 아래와 같다


RewriteEngine On


RewriteCond %{HTTP_HOST} !^www\. [NC]

RewriteRule ^(.*)$ http://www.domain.co.kr/$1 [L,R=301]


RewriteCond %{SERVER_PORT} !^80$

RewriteRule   "^/match/(.+)"  "http://%{HTTP_HOST}/match/$1"  [R,L]


RewriteCond %{SERVER_PORT} !^443$

RewriteRule ^(.*)$ https://www.domain.co.kr/$1 [L,R=301] 


끝!