Menu/Prof
スズキマコト
自由人
元々は楽器屋のギター兄ちゃん。
趣味でプログラミングしてるうちに
本職になってしまった人。

過去に喋っていた言語
c pascal Assembler
perl PHP Python Ruby など
javascriptなどは都度必要に応じて。
最近Mac買ったのでswift勉強してます。

体ぶっ壊して死にかけたので人生RESET中。

httpsにしたときの.htaccessの書き方

X
     この記事はプロモーションを含みます
contents

.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>
シェアしてくれると喜びます
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

makotoのアバター makoto Blogger&YouTuber

サーバー管理者として17年ほど仕事でサーバー触ってました。
www,mail,dns,sql各鯖をすべてFreeBSDで運用してましたが現世ではかなりレアなタイプになるみたいですね笑

viやシェルスクリプトとかperlとかgccとかFreeBSDとか実はbashよりtcshが好きとか時々寝ぼけるのは
その名残でしょう。

今まで縁の下の力持ち的な他人のためにプログラムを書き他人のためにサーバー構築し他人のためにWEBサイトを創る的な世界から
自分の好きなことに集中できる環境は実に気持ち良いですね。
現役は引退済みなので難しいことはやりませんしやれません。

現在 ほぼ自由人。

contents