.htaccess- "www"를 강제하는 방법 일반적인 방법으로?

Feb 06 2011

다음으로 변경 domain.com됩니다 www.domain.com.

# Force the "www."
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

모든 도메인에서 작동하도록 "도메인"부분을 어떻게 바꾸 나요?

답변

250 Gumbo Feb 10 2011 at 15:13

이 규칙을 사용합니다.

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

첫 번째 조건은 Host 값이 비어 있지 않은지 확인합니다 (HTTP / 1.0의 경우). 두 번째는 Host 값이로 시작하지 않는지 확인합니다 www.. HTTPS위한 제 수표 ( %{HTTPS}하나 인 on또는 off그래서 %{HTTPS}s하나이고 ons또는 offs와 경우 일치). 그런 다음 의 대체 부분은 정보 부분을 전체 URL로 병합합니다.onssRewriteRule

44 MartinDrapeau Feb 06 2011 at 21:36

이것은 그것을 할 것입니다 :

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
4 ClickForWebs Dec 17 2014 at 09:13

www가 아닌 ​​모든 요청을 www 버전으로 리디렉션하려면 다음 코드를 .htaccess 파일에 추가하기 만하면됩니다.

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
3 johnmccarthy Nov 24 2013 at 03:02

하위 도메인에서는 작동하지 않습니다.

domain.com이 www.domain.com으로 올바르게 리디렉션됩니다.

그러나

images.domain.com이 www.images.domain.com으로 리디렉션됩니다.

하위 도메인이 "www가 아님"인지 확인하는 대신 두 개의 점이 있는지 확인합니다.

RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteCond %{HTTP_HOST} !^(.*)\.(.*)\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ HTTP%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
1 RoUS Feb 06 2011 at 21:40

다음은 'www'가없는 요청 앞에 'www'라는 접두사를 붙이고 편집 된 요청을 새 URI로 리디렉션해야합니다. ㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ

RewriteCond "%{HTTP_HOST}" "!^www\."         [NC]
RewriteCond "%{HTTP_HOST}" "(.*)"
RewriteRule "(.*)"         "http://www.%1$1" [R=301,L]
1 AmitVerma Jul 01 2016 at 04:12
RewriteEngine On

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

하위 도메인 제외로 리디렉션 example.com됩니다 www.example.com.

RickHellewell Jul 12 2018 at 22:26

이것은 오래된 질문이며이를 수행하는 방법에는 여러 가지가 있습니다. 가장 완전한 대답 인 IMHO는 여기에서 찾을 수 있습니다.https://gist.github.com/vielhuber/f2c6bdd1ed9024023fe4. (여기에 코드를 붙여넣고 서식을 지정해도 효과가 없었습니다.)