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

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

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

さて、その方法。

.htaccessへの記述方法

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

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

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

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]
RewriteCond %{THE_REQUEST} ^.*/index.(html|htm|php)
RewriteRule ^(.*)index.(html|htm|php)$ https://samples.com/$1  [R=301,L]

2~3行目でSSL以外のアクセスがあった場合にhttps(wwwなし)へ301リダイレクトの処理。
4~5行目でwww付のアクセスがあった場合にhttps(wwwなし)へ301リダイレクトの処理。
6~7行目でindex.html(htm,php)のアクセスがあった場合に非表示へ301リダイレクトの処理。

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

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

そのディレクトリに

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

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