다음으로 변경 domain.com
됩니다 www.domain.com
.
# Force the "www."
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
모든 도메인에서 작동하도록 “도메인”부분을 어떻게 바꾸 나요?
답변
이 규칙을 사용합니다.
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로 병합합니다.ons
s
RewriteRule
답변
이렇게하면됩니다.
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
답변
www가 아닌 모든 요청을 www 버전으로 리디렉션하려면 .htaccess 파일에 다음 코드를 추가하기 만하면됩니다.
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
답변
하위 도메인에서는 작동하지 않습니다.
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]
답변
다음은 ‘www’가없는 모든 요청에 접두사를 붙이고 편집 된 요청을 새 URI로 리디렉션해야합니다.
RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
RewriteCond "%{HTTP_HOST}" "(.*)"
RewriteRule "(.*)" "http://www.%1$1" [R=301,L]
답변
RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]
하위 도메인 제외로 리디렉션 example.com
됩니다 www.example.com
.
답변
이것은 오래된 질문이며이를 수행하는 방법에는 여러 가지가 있습니다. 가장 완전한 대답 인 IMHO는 여기에서 찾을 수 있습니다 : https://gist.github.com/vielhuber/f2c6bdd1ed9024023fe4 . (여기에 코드를 붙여넣고 서식을 지정해도 효과가 없었습니다)