ホームページの作成や運用ノウハウについて、プロのクリエイターが情報を無料公開!

ホームページTIPS
facebook twitter mail

このサイトはコーディング初心者〜中級者向けの情報サイトです。掲載コードの転用制限はありませんが、
動作保証は行なっておりません。ご意見については、フォームからお知らせください。

SEOに関するTips

更新日:2019.9.5

SEO

httpからhttpsへリダイレクトさせる方法(.htaccessの記述)

解 説

httpsの「s」はサイトのSSL化を表しています。SSLとは「セキュアソケットレイヤー」の略で情報の送受信が暗号化される仕組みであり、SSLによってより安全なデータ送信を行う事ができます。今回はこのSSLを導入後、通常のhttp://〜へアクセスした際に、強制的にhttps://〜(SSLで暗号化されたサイトページ)に転送する設定をご紹介します。設定にはいくつかパターンがあり、いずれも.htaccessファイルに記述を行うことで設定できます。

1httpからhttpsへ301リダクレクトさせる場合【サイト全体を対象】

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

.htaccessファイルに上記を記述します。この設定では、ページがhttpsでない場合、httpsへ301リダイレクトするという指示になります。

301リダイレクトを設定する事でGoogleのページに対する評価を引き継ぐことができます。

2httpからhttpsへ301リダクレクトさせる場合【一部のディレクトリを対象】

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/特定のディレクトリ名/
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}  [R=301,L]

上記の /特定のフォルダ名/ を指定することで、特定のディレクトリのみhttpsへの301リダイレクトをかけることができます。

例えば、お問い合わせフォームの/contact/ディレクトリのみSSLをかける、といったケースに適応できます。

3WordPressのSSLでは、.htaccessの記述順序に注意!
# httpsへリダイレクト
# BEGIN WordPressより後に書くとトップ(ドメイン)ページのみ、前に書くと全ページに適応

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]



# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

wordpressサイトの場合、ルートディレクトリには既に.htaccessファイルが生成されていますので、そのファイルにリダイレクト設定を追記していきます。

【注意】この場合のリダイレクトの記述については# BEGIN WordPressよりも前に記述しなければいけません。

後に書いてしまうと、ドメインのみでアクセスした場合以外は、WordPressのリダイレクトルール(# BEGIN WordPress ~ # END WordPress)が適用されて、

[L] フラグで .htaccess の実行が終了してしまうからです。

トップへ