web-dev-qa-db-ja.com

パーマネントとhttpsをリダイレクトする

サーバーに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>
5
Clem

これに変更して試してください。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>
2

私も同じ問題を抱えていましたが、なぜ失敗したのかわかりません。私は代わりにこれを使用してそれを回避することができました:

<VirtualHost *:80>
    ServerName domain.com
    ServerAlias *.domain.com
#   Redirect 301 / https://www.domain.com
    RedirectMatch permanent /(.*) https://www.domain.com/$1
</VirtualHost>
1
el_timm