www apache2를 사용하여 https://로 리디렉션

www apache2를 사용하여 https://로 리디렉션

이와 같이 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 주소에서 여러 도메인을 처리할 수 있습니다.

관련 정보