昔々のサイトの引っ越し(SSI や 文字コード など)
先日、かなり昔に使っていたドメインのサーバーの引っ越しをしました。
違うサーバーへの引っ越しで、なおかつドメインも移そうと考えていました。
新しいサーバーは、エックスサーバーとConoHa WING です。
どちらもマルチドメインで、使い勝手もよく、ほかのドメインはすでに登録して使っていました。
今回引っ越そうとしたサイトは、かなり昔のサイトで、それでもまだアクセスが割とあったので、削除してしまうのももったいないと思い、サーバーとドメイン(url)を変更して、リダイレクトしておこうと思いました。
そして、ちょっとだけ引っかかったので覚書です。
目次
SSIをhtmlファイルで使うためには
1つは、SSIを使っているファイルでした。
通常、ホームページなどは、サーバーから送られてきたHTMLファイルをブラウザ側で表示してくれますが、
SSIとは、Server Side Include といって、HTML内に記述した実行コマンドをWebサーバー側で実行してHTMLとしてブラウザに送ってくれるというものです。
ブラウザ側では普通のHTMLファイルと同じように表示されます。
最近は、「サーバー負荷とセキュリティ面からSSIの推奨はしておりません。」というサーバーが多いようですが、コマンドにもよりますがとりあえずまだほとんどのサーバーで使えるようです。
「SSIは使えます」というサーバーでも、ファイル名は 〇〇.shtml という、shtml拡張子で使えるようになっていて、特別の設定をしないと .htm や .html の拡張子では使えないことがほとんどです。
その場合には、.htaccess で
AddHandler server-parsed .html .htm
などを追加するとほとんどのサーバーで使えます。
ただし、昔々のことだったので、すっかり忘れていて、表示できなくてあわててしまいました。
Shift-JIS や EUC コードのファイルを使う
以前のPerlなどのCGIファイルの多くはEUCコードで作成されていましたし、HTMLファイルはShift-JIS で作成されていたように思います。
エックスサーバーの場合には、何も気にせずどちらのコードでも使うことができたのですが、
ConoHa WING では文字化けしてしまいました。
サポートに聞くと「基本的にはUTF8にてご運用いただくようになります」ということで .htaccess で表示できる可能性があると教えていただきました。
あまり詳しくありませんが、.htaccess に
AddDefaultCharset off
を入れることで、utf-8でも Shift-JIS や EUC でも使うことができるようになるようです。
これからは、utf-8 だけが使えればいいのかもしれませんし、そういうサーバーも増えていくと思います。