매번 찾아보는 내용이라 메모겸 작성합니다.
리디렉트, 리다이렉트 용도로도 많이 사용하는 아파치의 rewrite 모듈 에제입니다.
<IfModule mod_rewrite.c>
RewriteEngine On
# 강제로 HTTPS 로 넘김
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# 여러 도메인을 한 곳으로
RewriteCond %{HTTP_HOST} ^(example\.com|www\.example\.co\.kr|example\.co\.kr) [NC]
RewriteRule (.*) https://www.example.com/$1 [L,R=301,NC]
# 브라우저에 강제로 www 붙이기
RewriteCond %{HTTP_HOST} ^example\.net [NC]
RewriteRule ^(.*)$ https://www.example.net/$1 [L,R=301,NC]
# 2차도메인을 전부 제거
RewriteCond %{HTTP_HOST} ^([A-Za-z0-9_]+)\.example\.com [NC]
RewriteRule ^(.*)& http://example.com/$1 [L,R]
# www만 제거
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)& http://example.com/$1 [L,R]
</IfModule>
필요한 부분만 사용하시면 되겠습니다.
웹서버로 들어온 모든 요청에 대해서 www를 붙이게도 가능하나, 이렇게 하게 되면 여러 서비스를 구동하며 서브도메인을 쓰게 되는 경우에 문제가 생기게 됩니다.
abc.example.com 을 사용중인데 www.abc.example.com 이 생기게 되겠죠.
반대로 2차도메인을 모두 제거하는 경우 역시 별로 사용할 일은 없을 것 같네요.
단순한 호스팅의 경우 cname을 해당 호스팅 서버를 바라보게 해도 상관 없겠지만, 세션이나 캐시를 사용하게 되는 경우 별도의 도메인으로 인식하기 때문에, 모든 요청을 처음부터 한곳으로 넘겨주는게 좋다고 합니다.
'취미, 관심 > NAS, Server' 카테고리의 다른 글
[Synology, docker] 어느날 갑자기 컨테이너가 외부 접속이 안될 때 (0) | 2022.07.04 |
---|---|
[Home Assistant, Synology] 하이퍼백업 종료 후 HAOS에서 외장하드 끄기 (0) | 2022.06.17 |
[Synology] DSM 7.0, 7.1 시놀로지 아파치 재시작 (0) | 2022.04.08 |
[docker] docker-compose IP 고정시키기 (0) | 2022.03.30 |
[Synology] 시놀로지 나스에 Portainer 설치 및 업데이트 (0) | 2022.03.10 |
[ubuntu, docker] 도커 컨테이너로 클라우드플레어 DDNS 사용하기 (0) | 2022.02.24 |
[Synology] 시놀로지 드라이브 사용 중 바이러스 Trojan:Win32/Zpevdo.B 검출 경고가 뜨는 경우 (0) | 2022.02.21 |