ハナモゲラボ / 試行錯誤の実験人生

日々、PCや各種デバイス、楽器等に翻弄されながら電脳の森をさまよう男の日常と様々な実験をさらりと記しております。

[覚え書き].htaccessでSSL転送&wwwなしを実現する方法

January 15 2018

こういう事を実現せねばならん時に適当に情報を引っ張ってきてはなんとかしている状況ってのがアカンのですが、やっぱ自分のブログに順序立てて書いておこうと。
そもそも、このハナモゲラボはそういう時の為の備忘録としてスタートしたんですが(笑)

最近、とみに多いのがこのサイトのSSL化とwwwの有り無しの統一。
SSLして有利かどうかってのは未だ微妙なのですが、新規に立ち上げる際にはもうハナからSSLにしときんさいってレベルの捉え方をしています。

wwwの有り無しは、サイトが重複してると検索エンジンに判断されるのも困るので、これも同時にやっておこうという事。
一昔前であれば、wwwはあった方がそれっぽい感じがしてましたけどね。
ラジオDJが「ダブリュー×3」って言うのもよく聞いてましたし。

さて、その方法。

.htaccessへの記述方法

Windowsの場合、昔は一旦htaccess.txtというテキストファイルを作ってアップロードした後にファイル名を.htaccessにするという方法が一般的でしたが、Windows10のメモ帳でも普通に.htaccessで保存が出来る様になってます。

いつの間にか文字コードなんかも選べるようになっており、UTF-8でも保存が出来ますが残念ながらBOM付。
今回みたいにサーバに置いて何かをさせる場合には不向きなので、なんらかのテキストエディタを導入する方が良いです。
こういう記事を検索で探してる人が、よもやメモ帳を使っているとは想像しにくいですが念の為。
ちなみに僕はEmEditor Freeを使用しています。

httpでアクセスされたらhttpsにリダイレクト、そしてwwwなしに統一の場合は

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://samples.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.samples\.com)(:80)?
RewriteRule ^(.*) https://samples.com/$1 [R=301,L]

2~3行目でSSL以外のアクセスがあった場合にhttps(wwwなし)へ301リダイレクトの処理。
4~5行目でwww付のアクセスがあった場合にhttps(wwwなし)へ301リダイレクトの処理。

そして、最終行には必ず改行を入れて改行コードはLF、保存はUTF-8(BOMなし)で。

これをファイルの置かれてるルートに置けばいいのですが
「あるディレクトリだけはSSLなしのURLにしたい」という場合(フォームメール関連とか)。

そのディレクトリに

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

と書いた.htaccessを置けばOKです。

| Posted in Web関連 | Comments (0)

Post a Comment

※メールアドレス、URLは任意入力です。メールアドレスは入力しても公開されません。

« Sep 2018 October 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31