문제

내가 사용하고 다음 mod_rewrite.htaccess 파일에 대한 내 도메인을 리디렉션이 영구적으로

https://domain.com

하기

https://www.domain.com

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

는 방법은 mod_rewrite 리다이렉션 내의 하위 도메인

https://subdomain.domain.com

하기

https://www.subdomain.domain.com

내 말은 어떻게 리다이렉 3 수준에서 도메인 https:// 하기 https://www. 사용합니다.htaccess mod_rewrite?

감사합니다,

도움이 되었습니까?

해결책

변화의 첫번째 규칙은 다음과 같습니다.이는 브라우저를 리디렉션합 정확한 url1 합니다.에서 두 번째 조건을 우리는 경기 www. 는 경우 앞에 url 또는 아무것도에서 먼저 그룹,그리고 모든 것은 왼쪽에서 두 번째 캡쳐 그룹입니다.이 보일 수 있는 카운터-직관적이지만,이렇게 하면 우리는 없다 www. 두 번의 앞에 url 을하지만,또한될 수 있 앞에 추가 www. 호스트 이름에 그렇지 않은 경우 이미 있습니다. RewriteRule ^ 은 멋진 방법 쓰기"모든 것을 일치"(또는:"경기 매 문자열로 시작하는"는 경우에도 빈 문자열).

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.|)(.*)$
RewriteRule ^ https://www.%2%{REQUEST_URI} [L,R=301]

다음은 두번째 규칙에서 요청을 처리하에 있는 https:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

다른 팁

이 단일 규칙은 주요 및 하위 도메인을 모두 처리해야합니다.

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

DocumentRoot/.htaccess

에 첫 번째 규칙으로 배치되었는지 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top