Apache RewriteRule이 www로 리디렉션되지 않습니다.

Apache RewriteRule이 www로 리디렉션되지 않습니다.

Apache 2.4를 사용하고 내 사이트가 켜져 있습니다.www.example.com, 자동으로 리디렉션됩니다.https://www.example.com, 완전히 접근 가능하고 기능적입니다.

그러나 명시적으로 사용하려고 하면http://example.com또는https://example.com, 자리 표시자 페이지가 나타납니다.

내가 원하는 것은 www가 아닌 ​​www를 www로 리디렉션하는 것입니다. 전 (https://example.com->https://www.example.com

.conf 파일에 다시 쓰기 규칙을 설정했지만 어떤 이유로 작동하지 않습니다. 내가 보고 있는 것은 www가 아닌 ​​곳에 액세스할 때 자리 표시자 페이지뿐입니다.

<VirtualHost <ip>:80>
    ServerName www.example.com
    ServerAlias example.com
    # Redirect to www
    RewriteEngine on
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
    Redirect permanent / https://www.example.com/
</VirtualHost>

<VirtualHost <ip>:443>
    ServerName www.example.com
    ServerAlias example.com
    SSLCertificateFile /home/admin/certs/www_example_com.crt
    SSLCertificateKeyFile /home/admin/certs/www_example_com.key
    SSLCACertificateFile /home/admin/certs/DigiCertCA.crt
    SSLEngine on
    SSLProtocol +TLSv1.2 -TLSv1.1 -TLSv1 -SSLv3 -SSLv2
    DirectoryIndex index.php index.html index.htm
    # redirect to www
    RewriteCond %{HTTPS} on
    RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

답변1

RewriteEngine을 활성화하는 것을 잊었습니다.

    RewriteEngine on

관련 정보