원문 : https://www.thewordcracker.com/miscellaneous/force-or-remove-www-with-htaccess/
예전에 이런 글을 올린적이 있습니다.
2020.03.11 - cafe24 SSL 적용 후 https로 리다이렉트 시키기
한개의 시놀로지 NAS에서 사이트를 여러개 돌리다보니, rewrite rule을 건들일이 조금씩 생깁니다.
domain.com / domain2.com / domain3.com 이런식으로 각각의 가상호스팅을 잡아두는데, www가 붙던 안붙던 해당 사이트를 들어가야만 하기 때문에 찾아보니 결국 rewrite rule 가 가장 편하더라구요.
nginx는 왠지 어려워서 손을 안대게 되고(.................)
web satation의 기본 웹서버의 백앤드를 apache로 설정, .htaccess 파일을 수정하는 방식으로 손을 댔습니다.
기존엔 짧은주소를 선호해 www가 없는 주소로 보내줬으나, 사이트 운영 관점에선 www가 붙는게 더 낫다는걸 보고 변경했어요.
www 붙이기는 아래와 같습니다.
RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC]
RewriteRule ^(.*) http://www.%1/$1 [R=301,NE,L]
운영중인 사이트는 모두 https 접속을 사용하므로, 두번째줄의 http를 https로 수정합니다.
# https://www 로 보내주기
RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC]
RewriteRule ^(.*) https://www.%1/$1 [R=301,NE,L]
아래와 같은 규칙도 가능하다고 합니다.
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
example을 실제 도메인으로 바꾸면 됩니다.
제 경우, 여러개의 도메인을 한번에 관리하고 있으므로, 두 번째 방식을 사용합니다.
제거는 아래와 같이 합니다.
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule ^(.*) http://%1/$1 [R=301,NE,L]
역시 https 접속을 사용하는 경우, http를 https로 변경하면 되겠죠.
이렇게 적용하면 위의 https 강제 리디렉션은 적용하지 않아도 됩니다.
기초적인 정규식인데... 정규식 너무 어려워요......
'취미, 관심 > NAS, Server' 카테고리의 다른 글
[ubuntu, docker] 도커 컨테이너로 클라우드플레어 DDNS 사용하기 (0) | 2022.02.24 |
---|---|
[Synology] 시놀로지 드라이브 사용 중 바이러스 Trojan:Win32/Zpevdo.B 검출 경고가 뜨는 경우 (0) | 2022.02.21 |
[PHP] phpMyAdmin 설치시 Composer~ be installed: xml 문구 해결 (0) | 2022.01.20 |
국내 통신사별 리버스 도메인(PTR레코드) 등록방법 (0) | 2022.01.18 |
[Synology] 시놀로지 NAS에서 wordpress 수동설치하기 (4) | 2022.01.13 |
[Synology] 시놀로지 Nginx 설정 유지하기, 워드프레스 고유주소 사용하기 (1) | 2022.01.11 |
[Synology] 시놀로지 phpMyAdmin 수동설치 및 설정 (0) | 2022.01.11 |