RewriteCond %{HTTP_HOST} ^www.도메인.com [NC]
RewriteRule ^(.*) https://도메인.com/$1 [L,R=301]
위에 것으로 하면
www.도메인.com -> https://도메인.com
이렇게 잘 됩니다.
그런데 www.도메인.com/abc/a.html -> https://www.도메인.com/abc/a.html 이렇게 www가 안떨어집니다.
하위폴더까지 포함해서 www를 떼고 싶습니다.
아파치2.4 입니다.
지금은 그냥
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.도메인\.com)(:80)? [NC]
RewriteRule ^(.*) https://도메인/$1 [R=301,L]
이 상태인데 뭐 하위폴더까지 있는 주소는 역시 WWW가 계속 붙네요.
댓글 17
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}/$1 [L,R=301]
이걸 넣으면 자동으로 www 를 붙여줍니다. <--제가보장하죠 제가 짠거니까 ^^ 안되는경우가 많더라구여 인터넷에 널린게 ^^
아파치 rewrite는 짜증납니다 ㅠㅠ
저라면 그냥 80포트에 www 도메인을 위한 <VirtualHost>를 별도로 만들어서
죄다 https로 RedirectPermanent 처리해 버리겠어요. 이게 nginx 방식이죠 ㅎㅎ
RewriteCond %{HTTP_HOST} ^(pomelove\.com|www\.pomelove\.com)
RewriteRule (.*) /xe/$1 [L]
요거 때문에 영향을 받는 듯 합니다.
저희는 XE폴더에 설치가 되어 있지만 XE를 넣지 않은 주소도 보두 XE폴더로 접속하게 해주고 주소창에는 XE가 보이지 않게 되어있는데요.
테스트를 해보니
www.pomelove.com/mian ->> https://pomelove.com/main 이렇게 잘 되구요.
원주소를 제대로 입력한 주소
www.pomelove.com/xe/main ->> https://www.pomelove.com/xe/main 이렇게 www가 떨어지지 않네요.
이걸
RewriteRule ^(.*)$ https://pomelove.com%{REQUEST_URI} [L,R=301]
이렇게 바꿔보세요.
이 애드온 사용하기로 했습니다.
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
이런 식으로 쓰는 중인데... 앞에 %{HTTP_HOST} 이 부분을 혹시 사이트 실제 주소로(www 빠진것) 바꾸면 정상적으로 될지 모르겠네요
저거 자세히 살펴보니까, www가 붙으면 일단 "http://" 로 돌린 다음 www를 뗀 주소로 리다이렉트 시키네요. (elkha_www.addon.php 파일 살펴보니까 하필 리디렉션 경로에 http://가 붙어 있습니다.)
그래서 만약에 "https://www.사이트주소" 를 입력할 경우, 일단 "http://사이트주소"로 302 리디렉션을 시킵니다. 그 다음에 htaccess의 http->https 301 리디렉션을 통해서 "https://사이트주소" 로 301 리디렉션을 보내주네요.
이렇게 할 경우 seo에 마이너스가 생길 수 있을 거 같습니다. 당연히 사이트 주소에서 www를 안 사용하고 기본 url을 www 안 붙일 경우 생성되는 문서 주소도 안 붙은 버전으로 나오는데, 검색엔진에서 어떤 식으로 들어오는지 정확하지가 않아서... www 붙여서 들어올 경우 302가 섞여 있어서 문제가 있지 않을까 생각되네요. 은근히 사이트 주소 칠 때 www 붙이는 사람들 많은데 저런 식으로 리디렉션되는게 별로 좋아보이지도 않고...
http://stackoverflow.com/questions/2361499/how-to-always-remove-www-from-a-url-with-mod-rewrite
찾아보면 이런 것들이 나오긴 하는데, 일단 세부경로까지 잘 작동하는지도 중요하고 또한 지금 경우처럼 https 리디렉션과 같이 사용하려면 어떻게 해야 하는지 모르겠네요