2011-10-06 10 views
9

네,(또 다른) .htaccess에서 다시 작성하여 www를 제거하는 아름다운 방법 은요?

... 여기에 차이가 ...이 질문에 1000 시간 전에 요청 받았다 알고 나는 여기에 'www'를 추가하려면에 StackOverflow에이 대답을 발견 use htaccess to add www with https support

RewriteCond %{HTTP_HOST} !^www\. 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

그리고 그것은 내가 본 가장 아름답고 우아한 솔루션입니다 :

  • 그것은 작동
  • 그것은 변경할 필요가 없습니다뿐만에 사용되는 pecific 도메인은
  • 는 HTTP 및 HTTPS 연결
  • 그것의 만 3 라인

그래서, 내 질문은 간단하다 모두를 해결합니다. 다른 사람이이 코드를 반대 방향으로 작동하도록 조정할 수 있습니까? 웹 주소에서 WWW를 제거하고 위의 모든 사항을 처리하려면?

나는 위의 (그리고 바라건대 아래) 해결책들 사이에서, 우리는 www를 모두 다룰 수 있도록 재 작성해야한다고 생각합니다! 드루팔 7 .htaccess 파일에서 촬영

답변

11
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%2://%1%{REQUEST_URI} [L,R=301] 

, 매력처럼 작동합니다. https 체크를 추가하기 위해 비트가 업데이트되었습니다. 나는 위의 대답에 문제가 생겼

+0

yep! 완전한! 감사!! :) – ethanpil

2

, 그것은

http://http:/// 그래서 나는 일부 변경했다로 리디렉션 시작이 http://example.comhttp://www.example.com에서 리디렉션 (아파치 우분투 서버, VPS 서버에) 나를 위해 일한 코드 (www가 아닌 ​​www)http://example.com에서 https://example.com(http to https).

RewriteCond %{HTTPS}s on(s)| 
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ 
    RewriteRule^http%2://%1%{REQUEST_URI} [R=301,L] 
+0

@bummi 답변을 편집 해 주셔서 감사합니다. 실수로 여기에 실제 URL을 넣습니다. 다음에 표준을 따를 것입니다. –