본문 바로가기

main/Server

[CentOS 7] Apache Rewrite로 http -> https, non-www -> www로 주소 Redirect 시키기

<VirtualHost _default_:443>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} !^www\. [NC]
  RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URL} [R=301,L]
</VirtualHost>

<VirtualHost *:80>
  RewriteEngine On
  RewriteCond %{HTTPS} off
  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URL} [R=301,L]
</VirtualHost>

두 가지를 한번에 [OR]로 조건에 주고 Redirect 시킬 수도 있으나..

 

일단 80으로 들어오거나 443으로 들어오거나 어디로 올 지 모르겠고

만약 80이라면 Proxy로 443으로 보내버리고 이미 https가 되는 상황이어서

어떻게 할까... 하다가 각각의 VirtualHost에 넣어주는 방법을 택했다.

 

하지만 .htaccess 를 사용하거나 또는

<IfModule>을 사용해서 Rewrite모듈이 켜졌을 때 보내버리는 등의 

여러 방법이 있으므로 선택해서 사용하면 되는 것 같다!

 


네이버 서치어드바이저 등의 검색엔진에서는 http://, https://, www., non-www. 모두 다른 사이트로 등록이 되어서

애초에 한 곳으로 보내주는 게 SEO에 좋다!

또 ... 내 생각엔 로컬스토리지 문제 때문에도 한 사이트로 보내버리는 게 맞는 것 같다. 로컬스토리지가 각각 등록됨..

 

Redirect 적용 후 네이버 서치어드바이저에서 확인해본 결과