이와 같이 apache2 호스트 .conf 파일을 사용하여 모든 http:// 요청을 https://로 리디렉션하고 있습니다.
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect / https://www.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
#more details here
</VirtualHost>
이것은 잘 작동하고 모든 요청을 https://로 리디렉션합니다.
이제 www가 아닌 요청을 www로 리디렉션하고 싶습니다(그래서https://example.com에게https://www.example.com). 위의 443 블록 앞과 뒤에 아래 줄을 추가하려고 했습니다. 하지만 운이 좋지 않습니다 :(
<VirtualHost *:443>
ServerName example.com
Redirect / https://www.example.com/
</VirtualHost>
.htaccess 없이 어떻게 활성화할 수 있는지 아시나요?
도와주세요..
답변1
기존 가상 호스트에 리디렉션을 추가하려고 합니다 *:443
. 다음과 같이 해야 합니다.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
다른 RewriteRule
섹션보다 먼저 넣으세요.
답변2
당신이 가지고 있는 것은 이미 정확합니다.
*:443
그리고 로 정의해야 합니다 NameVirtualHost
.
# more details here
이미 가지고 있는 모든 SSL 설정이 있는 이 구성을 사용하십시오 .
NameVirtualHost *:443
<VirtualHost *:443>
ServerName www.example.com
# more details here
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
Redirect / https://www.example.com/
# more details here
</VirtualHost>
SSL 인증서 세부정보가 필요합니다.각 VirtualHost
컨테이너는 동일하더라도 마찬가지입니다.
제발~하지 않다추가 IPv4 주소 사용 - 이 사용 사례에서는 추가 IP 주소를 사용할 필요가 없습니다. HTTP/1.1은 SSL을 포함하여 하나의 IP 주소에서 여러 도메인을 처리할 수 있습니다.