昔々のサイトの引っ越し(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 だけが使えればいいのかもしれませんし、そういうサーバーも増えていくと思います。