httpsにしたときの.htaccessの書き方
.htaccessの書き方を詳しく説明
まずは借りているサーバーによってはSSL化の設定をすると自動で .htaccessを書き換えてくれる
サーバー会社もありますのでその辺りはご自分でご確認ください。
私はロリポさんのサーバーのコントロールパネルから
独自ドメインをムームードメインさんで取得したわけですが
最近のWEBはhttpsにしておかないと
ブラウザが文句いってくるようになりました。
なので早速ロリポさんで無料でSSLが設定できるのでやってみたわけです。
SSL設定自体はwordpressと直接関係なさそうなんですけど
実は自分のレンタル鯖のwebのドキュメントルートに
wordpressが自動生成した .htaccessがすでに存在していました。
んでhttpでアクセスしてきた人とか wwwを付加してきた人とか
まとめて https://malabo.org/にすっ飛ばす仕掛けを
.htaccessに記述するのですがここで1点注意があります。
先程言ったとおりすでにwordpressが
自分のシステムのために.htaccessを自動作成してるので
それに追加して記述する形になるのですが
以下の様に書かないと駄目です。
wordpressのディレクティブ内に記述しちゃうと
いつの間にか上書きされて消えちゃいますので注意です。
記述してアップロードしよう!
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
;
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
この # BEGIN WordPressから # END WordPress までの間が自動生成された奴。
FTPを使用して.htaccessをダウンロードして
ローカルPCで記述してからアップロードしても良いし
ロリポさんの管理ツールならブラウザFTPで直接編集もできる
この # BEGIN WordPressから # END WordPress までの間が
ワードプレスによって自動生成されたヤツなのでその範囲外に
以下のように記述を追加しておけば良い。
mlabo.orgの部分は自分のドメインに書き換えてください。
RewriteEngine On RewriteBase / RewriteCond %{HTTPS} off RewriteRule ^(.*$) https://mlabo.org/$1 [R=301,L] RewriteCond %{HTTPS} on RewriteCond %{HTTP_HOST} ^www.mlabo.org$ RewriteRule ^(.*)$ https://mlabo.org/$1 [R=301,L]
動作確認
サーバーにアップロードしたら
実際に ご自分のブラウザでhttp://でアクセスしたり
http://www.を付加してみたりして色々試して
正確に https://目的のドメイン に
リダイレクトされてるか確認して完了です!
ではまた!
2022/02/12追記
上記の.htaccessは固定したドメインの場合であり
同じサーバー内でサブドメイン
もしくは複数のドメインを扱う場合には
以下の.htaccessに差し替えてください。
こちらの方が汎用性が高いのでおすすめです。
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301] </IfModule>