SSL 301リダイレクト設定 4種 備忘録 コピペ可 (.htaccess PHP JavaScript)✨
いずれか可能なものを配置(記入)することでドメイン問わずそのままコピペで利用可能
JavaScript は301ではないけど、一応 非SSLからSSLに持っていけるので...
.htaccess (Apache)
1<IfModule mod_rewrite.c>
2 RewriteEngine On
3 RewriteBase /
4 RewriteCond %{HTTPS} off
5 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
6</IfModule>
1、7行目は mod_rewriteというURLの書き換え用モジュールがインストールされてい場合に適用されるよってこと 有無がわかっている場合は省略可能
2行目は 上記モジュールエンジンを有効に 3行目は 有効範囲の指定ですのでこの場合は省略可能
5行目 は非SSL通信かどうかの確認(そうでなければ何もしない) です。
6行目 は 5行目で設定した条件に従い SSL通信へ301リダイレクト
httpd.cnf (Apache)
1RewriteEngine on
2RewriteCond %{HTTPS} off
3RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
VPSや自宅サーバーなどで複数サイトを管理している場合は一括管理できるかも
PHP(少ページの場合)
1if (empty($_SERVER['HTTPS'])) {
2 header( "HTTP/1.1 301 Moved Permanently" );
3 header("Location: https://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}");
4 exit;
5 }
JavaScript(更に少ページ)
1if(!(location.protocol === "https:")){
2 location.href="https://" + location.host + location.pathname;
3 }else{
4 };
5}
コメント