この記事では、Apache®でのリダイレクトとその設定方法について説明します。
Apacheは、サーバーまたは別の外部サイト上の1つの仮想ホストから別の仮想ホストを指すリダイレクトを作成できます。この機能を使用する一般的な理由は、httpトラフィックをhttpsに強制し、ドメイン名を移動することです。
Apacheには、指定されたサイトにトラフィックをリダイレクトするためにvhostに追加できるリダイレクトディレクティブがあります。以下は、ディレクティブを使用してすべてのhttpトラフィックをhttpsにリダイレクトする例です。
`<VirtualHost *:80>
DocumentRoot /var/www/example.com/httpdocs
ServerName example.com
Redirect / https://example.com <-----
ServerAlias www.example.com
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/www/example.com/httpdocs
ServerName example.com
ServerAlias www.example.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/2017-example.com.crt
SSLCACertificateFile /etc/pki/tls/certs/CABundle.crt
SSLCertificateKeyFile /etc/pki/tls/private/2017-example.com.key
</VirtualHost>`
上記の例は、一時的な302リダイレクトを確立することにより、その単一ページに対してのみ機能します。次のようにリダイレクトディレクティブを使用して、永続的な301リダイレクトを確立します。
Redirect 301 / https://example.com
Redirect permanent / https://example.com