www htaccess 문제
본문
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTPS_HOST} !^www\..+$ [NC]
RewriteRule ^ https://www.도메인.com%{REQUEST_URI} [R=301,L]
</IfModule>
여기서 목적은 https://www.도메인.com으로 가게 하려는건데요
현재 정상접속은
http://www.도메인.com , 도메인.com, http://도메인.com
모두 정상적으로 https://www.도메인.com으로 접속됩니다
단 한가지 https://도메인.com 만 https://www.도메인.com으로 변환이 안되네요
어떻게 해야 하나요?
답변 3
이게 맞는지는 모르겠는데요.
RewriteCond %{HTTPS} !=on 아래에
RewriteCond %{HTTP_HOST} ^test\.com <---호스트가 test.com 이라면
RewriteRule ^ https://www.test.com%{REQUEST_URI} [R=301,L]
이렇게 함 해 보시겠어요?
이게 상황에 따라 다르게 적용될것도 같긴 합니다.
조금 달리하면
RewriteCond %{HTTP_HOST} !^www\.test\.com <---www.test.com 이 아니라면
이렇게도 될것도 같은데 말이죠.ㅎㅎ;;
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^ - [E=protossl]
RewriteCond %{HTTPS} on
RewriteRule ^ - [E=protossl:s]
# https 강제이동.
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# www 강제로 붙이기.
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# www 가 붙어있으면 떼기.
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]
<
/IfModule
>
위의 소스를 참고해서 작업해 보세요.