2012-05-28 4 views
0

.htaccess를 사용하여 모든 요청 (하위 도메인 제외)을 HTTP에서 HTTPS로 리디렉션합니다. 이 코드는 잘 나를 위해 작동 :.htaccess 특정 하위 도메인을 HTTPS에서 HTTP로 리디렉션

RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} !=m.example.com 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

그러나, 수동으로 HTTPS (I 하위 도메인에는 적용되지 않습니다 있고 사용하면 신뢰 오류를 보여줍니다 SSL을 사용하여 하위 도메인에 액세스를 시도에서 사용자를 방지하지 않습니다 하위 도메인). 이제

, 궁금 :

1-어떻게 다시 HTTP에 하위 도메인의 모든 HTTPS 요청을 리디렉션 할 수 있습니까?

2 어떻게 동적으로 다른 하위 도메인의 하위 도메인 제한을 적용하려면이 코드 (뿐만 아니라 m.example.com)

+1

내가 htaccess로 규칙을 처리하기 전에 SSL 핸드 셰이크가 발생 믿고 포함 구분

RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^example.com$ RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} 

를, 그래서 귀하의 질문에 그냥 논쟁이 될 수있다 (이를 확인) . – Ansari

답변

1

1) 인증서가 포함되지 않은 경우 m.example.com을 수정할 수 있습니다, 당신 브라우저가 연결을 거부하기 때문에 절대로 리디렉션을 보낼 수 없습니다. 그래서 이것을 할 방법이 없습니다.

2) 그래서 htaccess가 원하는 것은 기본 도메인을 https로 리디렉션하는 것입니다. 이 사용하려면 : 나는 인증서는 www.example.com 사용

RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} 
관련 문제