サーバーにHTTPSを設定しただけで、リダイレクトの永続化に問題があります。
例http://domain.com/index.html
それは私をhttp://www.domain.comindex.html
にリダイレクトします
/(末尾のスラッシュ)が欠落しているため、修正方法がわかりません。
http://www.domain.com/index.html
で動作します
これが私のhttpd.confです
<VirtualHost *:80>
ServerName domain.com
Redirect permanent / https://www.domain.com/
</VirtualHost>
<VirtualHost *:80>
ServerName www.domain.com
Redirect permanent / https://www.domain.com/
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/www/domain/
ServerName www.domain.com
SSLEngine on
SSLCertificateFile ssl.crt
SSLCertificateKeyFile ssl.key
</VirtualHost>
これに変更して試してください。2つのVirtualHostだけに注意してください
<VirtualHost *:80>
ServerName domain.com
ServerAlias *.domain.com
Redirect permanent / https://www.domain.com/
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/www/domain/
ServerName www.domain.com
SSLEngine on
SSLCertificateFile ssl.crt
SSLCertificateKeyFile ssl.key
</VirtualHost>
私も同じ問題を抱えていましたが、なぜ失敗したのかわかりません。私は代わりにこれを使用してそれを回避することができました:
<VirtualHost *:80>
ServerName domain.com
ServerAlias *.domain.com
# Redirect 301 / https://www.domain.com
RedirectMatch permanent /(.*) https://www.domain.com/$1
</VirtualHost>