rewrite module을 이용한 www 강제 제거 정보
rewrite module을 이용한 www 강제 제거관련링크
본문
통일된 주소를 사용하거나 할때 www 강제 제거 가 필요한 경우가 있습니다.
자바스크립트를 이용한 방법,
php를 이용한 방법
모두 써봤고, 큰 탈 없이 돌아가긴 하지만 뭔가 아쉬운 느낌이었습니다.
많은 경우에 처리가안되는 경우도 있구요
자바스크립트를 이용한 방법은 자바스크립트지원이 안된다면 적용이 안될것이고
php는 간혹 헤더 오류가 마구 발생하더군요..
또한 1차로 접속후 변경되는 것도 왠지 ..
그래서 마구마구 구글링을 하다가
발견했습니다.
좋은 팁 올려주신 해당 링크에 감사한 마음입니다. 더많이 이 팁이 알려지길 바라면서
... 올려봅니다.
팁은 모두 해당 링크에서 가져왔습니다. 일부만 가져왔으니,
원본을 꼭 참조 바랍니다. 문제있을시 삭제 하겠습니다.
원글 주소(출처) : http://steadypost.net/post/qna/id/1/
=======================================================================
아파치에서 mod_rewrite 를 이용하여 자동으로 www 를 제거하는 방법과 붙이는 방법은 다음과 같습니다.
.htaccess 파일에 각각 원하는 코드를 추가하시면 됩니다.
.htaccess 파일은 document_root 즉 웹디렉토리 가장 상위 디렉토리(/)에 위치합니다.
- www 제거하기
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
</IfModule>
- www 붙이기
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteRule ^(.*)$ "http://www.%1/$1" [L,R=301]
</IfModule>
여기서 중요한것은 301 permanent redirect (R=301) 한다는것입니다.
그래야 검색엔진도 어떤주소가 정확한것인지 알 수 있습니다.
보통 잘 쓰는 방법인 해당 url 의 첫 페이지 (index.html) 에 코딩으로 www 가 붙거나 없는 주소로 redirect 시킬경우 첫페이지가 아닌 페이지로 접근했을때에는 처리가 안되지만
위와 같이 하면 어떤 페이지로 접근하더라도 원하는 주소로 redirect 시킬수 있습니다.
또 사용자가 www 를 붙이는지 안붙이는지에 대한 배려나 고려도 안해도 됩니다.
=====================================================
서브도메인과 간섭도 없고 너무 좋네요~
자바스크립트를 이용한 방법,
php를 이용한 방법
모두 써봤고, 큰 탈 없이 돌아가긴 하지만 뭔가 아쉬운 느낌이었습니다.
많은 경우에 처리가안되는 경우도 있구요
자바스크립트를 이용한 방법은 자바스크립트지원이 안된다면 적용이 안될것이고
php는 간혹 헤더 오류가 마구 발생하더군요..
또한 1차로 접속후 변경되는 것도 왠지 ..
그래서 마구마구 구글링을 하다가
발견했습니다.
좋은 팁 올려주신 해당 링크에 감사한 마음입니다. 더많이 이 팁이 알려지길 바라면서
... 올려봅니다.
팁은 모두 해당 링크에서 가져왔습니다. 일부만 가져왔으니,
원본을 꼭 참조 바랍니다. 문제있을시 삭제 하겠습니다.
원글 주소(출처) : http://steadypost.net/post/qna/id/1/
=======================================================================
아파치에서 mod_rewrite 를 이용하여 자동으로 www 를 제거하는 방법과 붙이는 방법은 다음과 같습니다.
.htaccess 파일에 각각 원하는 코드를 추가하시면 됩니다.
.htaccess 파일은 document_root 즉 웹디렉토리 가장 상위 디렉토리(/)에 위치합니다.
- www 제거하기
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
</IfModule>
- www 붙이기
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteRule ^(.*)$ "http://www.%1/$1" [L,R=301]
</IfModule>
여기서 중요한것은 301 permanent redirect (R=301) 한다는것입니다.
그래야 검색엔진도 어떤주소가 정확한것인지 알 수 있습니다.
보통 잘 쓰는 방법인 해당 url 의 첫 페이지 (index.html) 에 코딩으로 www 가 붙거나 없는 주소로 redirect 시킬경우 첫페이지가 아닌 페이지로 접근했을때에는 처리가 안되지만
위와 같이 하면 어떤 페이지로 접근하더라도 원하는 주소로 redirect 시킬수 있습니다.
또 사용자가 www 를 붙이는지 안붙이는지에 대한 배려나 고려도 안해도 됩니다.
=====================================================
서브도메인과 간섭도 없고 너무 좋네요~
추천
3
3
댓글 3개
감사합니다.
감사합니다.
감사합니다.