301 リダイレクト (http から https への引っ越し)

http から https へと引越しする際に301 リダイレクトする設定

OS  忘れてしまった
サーバーソフト apache

mod24_ssl をインストール
yum -y install mod24_ssl

apache の設定ファイルをいじる
vim /etc/httpd/conf/httpd.conf

・
・
# http でアクセスした時(port 80)にまず バーチャルホスト(SSL用) のドキュメントルートに変更 
DocumentRoot "/var/www/hogehoge"
・
・


バーチャルホストの設定
vim /etc/httpd/conf.d/ssl.conf


# 443 https でアクセスしたときの挙動 Listen 443 https # /var/www/hogehoge/.htaccess を有効 <Directory "/var/www/hogehoge"> AllowOverride All Order allow,deny Allow from all </Directory> #プロトコル の設定 ALLで禁止からの +TLSv1 +TLSv1.1 +TLSv1.2 で例外を加える。 SSLProtocol -ALL +TLSv1 +TLSv1.1 +TLSv1.2 # 許可するスイート暗号を設定 SSLHonorCipherOrder ON SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM #バーチャルホストの設定 <VirtualHost *:443> # ドキュメントルートを上記の所と同じに設定する(あとでリダイレクトする設定をするので関係無いかもしれないが一応) DocumentRoot "/var/www/hogehoge" #SSL 証明書から ServerName を hogehoge.jp に設定 ServerName hogehoge.jp #SSL 証明書を有効にするための設定 SSLEngine on #上記のファイルを配置 SSLCertificateFile /etc/pki/tls/certs/hogehoge.jp.crt SSLCertificateKeyFile /etc/pki/tls/private/hogehoge.jp.key SSLCertificateChainFile /etc/pki/tls/certs/hogehoge.jp.ca </VirtualHost> #ないと怒られるので追加 SSLSessionCache shmcb:/run/httpd/sslcache(512000) SSLSessionCacheTimeout 300

vim /var/www/hogehoge/.htaccess


<IfModule mod_rewrite.c> RewriteEngine On ## もとからあった記述 RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] ## ここまで # https 以外のときのルールを決める # https 以外の時以下のルール適用 RewriteCond %{HTTPS} off # 正規表現で頭から最後のURLにヒットさせる その後 https://%{HTTP_HOST}%{REQUEST_URI} で元からの変数を使って 301 リダイレクトさせる。 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule>

後はURLを確認して http に接続しても https にリダイレクトされるか確認
リダイレクトには今回の方法だとapache に mod_rewrite , ssl 適用には mod24_ssl が必要なのでそれらが利用可能かつ設定ファイルにそのモジュールを読み込んでるか記載等があるか確認する必要があります
恐らく LoadModule で読み込んでるか include みたいな形だと思われます。