htaccess 를 이용한 www 붙이기/없애기

htaccess 를 이용한 www 붙이기/없애기

QA

htaccess 를 이용한 www 붙이기/없애기

답변 1

본문

cafe24 에 호스팅하여 그누보드5를 사용하고 있습니다.

 

========================================================

#### 그누보드5 rewrite BEGIN #####

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

 

# www 제거

RewriteCond %{HTTP_HOST} ^example.net$ [NC]

RewriteRule (.*) http://www.example.net/$1 [R=301,L]

# https

RewriteCond %{HTTPS} off

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


 

RewriteCond %{REQUEST_FILENAME} -f [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^ - [L]

RewriteRule ^content/([0-9a-zA-Z_]+)$  bbs/content.php?co_id=$1&rewrite=1  [QSA,L]

RewriteRule ^content/([^/]+)/$  bbs/content.php?co_seo_title=$1&rewrite=1      [QSA,L]

RewriteRule ^rss/([0-9a-zA-Z_]+)$  bbs/rss.php?bo_table=$1        [QSA,L]

RewriteRule ^([0-9a-zA-Z_]+)$  bbs/board.php?bo_table=$1&rewrite=1      [QSA,L]

RewriteRule ^([0-9a-zA-Z_]+)/([^/]+)/$ bbs/board.php?bo_table=$1&wr_seo_title=$2&rewrite=1      [QSA,L]

RewriteRule ^([0-9a-zA-Z_]+)/write$  bbs/write.php?bo_table=$1&rewrite=1    [QSA,L]

RewriteRule ^([0-9a-zA-Z_]+)/([0-9]+)$  bbs/board.php?bo_table=$1&wr_id=$2&rewrite=1  [QSA,L]

========================================================

 

 

위 설정 중 bold한 것이 제가 추가한 부분입니다.

http -> https 리디렉션은 잘 작동합니다. 

다만 www를 붙이거나 없애게 설정할 경우 

어디의 어떤 설정을 가져와서 적용해도 이상현상이 발생합니다.

 

예를 들어서..

example.net/robots.txt로 접속 시

example.net/robots.txt//////////////// 로 리디렉션 되는 현상이 발생합니다. 

htaccess를 많이 다뤄보지 않아 많이 난감합니다. 

 

도움 주시면 감사하겠습니다

이 질문에 댓글 쓰기 :

답변 1

RewriteEngine on ##기능을 on 했다.

RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^www. [NC] ##https로 접근한게 아니거나 www가 붙어 있으면

RewriteCond %{HTTP_HOST} ^(?:www.)?(.+)$ [NC] ##주소에 www가 있으면 제거

RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301] ##위에서 변경한 주소를 https 로 다시 접속

결과
http://test.com
http://www.test.com
https://www.test.com
위 3가지 접근을 모두 아래 주소로 변경 됩니다.
https://test.com

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 61,332
© SIRSOFT
현재 페이지 제일 처음으로