2005年05月16日
WinXP SP2 でローカルの shtmlファイルが開けない
ホームページを作成したことのある人なら shtml という拡張子のファイルに馴染みがあるかもしれません。
これはファイルにアクセスした際に、サーバーのSSI機能(server side include)を利用して何らかのプログラムを実行させる場合にそのファイルにつける拡張子です。
実行するプログラムは別に用意しておき、shtmlファイルには開かれた際にそのプログラムを呼び出すための記述をしておきます。
一般的にはカウンターやアクセスログをとる場合に使用されています。
CGIに比べてプログラムの記述がシンプルで実行速度も速いのでこちらを好む向きもあるのですが、セキュリティ上の理由からSSIを許可していないサーバーもあります。
プロバイダのウェブサーバーや無料レンタルサーバーでは許可していない場合が多いようです。
このshtmlファイルですが、WinXP で IE使用の場合、SP1 の時にはローカルでも問題なく開くことができました。
ところが、SP2 にアップグレードした途端に開けなくなってしまったのですね。
どういう症状かというと、拡張子shtmlを前もってIEに関連づけておいた上でダブルクリックすると、マウスカーソルがいったん砂時計になるのだが少したつとまた元に戻り、そして何も起こらない。
つまりIEが起動しないわけです。
これはファイルにアクセスした際に、サーバーのSSI機能(server side include)を利用して何らかのプログラムを実行させる場合にそのファイルにつける拡張子です。
実行するプログラムは別に用意しておき、shtmlファイルには開かれた際にそのプログラムを呼び出すための記述をしておきます。
一般的にはカウンターやアクセスログをとる場合に使用されています。
CGIに比べてプログラムの記述がシンプルで実行速度も速いのでこちらを好む向きもあるのですが、セキュリティ上の理由からSSIを許可していないサーバーもあります。
プロバイダのウェブサーバーや無料レンタルサーバーでは許可していない場合が多いようです。
このshtmlファイルですが、WinXP で IE使用の場合、SP1 の時にはローカルでも問題なく開くことができました。
ところが、SP2 にアップグレードした途端に開けなくなってしまったのですね。
どういう症状かというと、拡張子shtmlを前もってIEに関連づけておいた上でダブルクリックすると、マウスカーソルがいったん砂時計になるのだが少したつとまた元に戻り、そして何も起こらない。
つまりIEが起動しないわけです。
エラーメッセージさえ何も出ないので何がどうなっているのかよくわかりません。
WEBにアップしたものは問題なく開いて表示できるのでが、ローカル環境ではいっさい開けません。
何が困るかというと、編集したshtmlファイルを確認のために表示させようとしてもそれができないんですね。
仕方なく、いったん拡張子をhtmlに変更してから開いて確認。
問題なければ拡張子を再びshtmlに変更・・・という手間をかけねばなりません。
ネットを検索しても同じような症状が全くヒットしないのでしばらくはそのままにしておいたのですが、このままではどうにも気分が悪いわけです。
ということで、時間ができた時に徹底的に検証を試みてみました。
結果、IEの設定を見直すことで解決できました。
まず、IEの上部のメニューから「ツール」選択し、表示されたメニューの最下部の「インターネットオプション」を選択する。
次に「詳細設定」タブを選択する。
「セキュリティ」という項目が下の方に見えているので、少し下にスクロールする。
「セキュリティ」項目内に「マイコンピュータのファイルでのアクティブコンテンツの実行を許可する」という項目があるので、ここにチェックを入れる。
「OK」ボタンを押してダイアログボックスを閉じる。

ただこれだけのことなのですが、何もメッセージが表示されないものだから発見するにはそれなりに時間がかかってしまいました。(^^;
WEBにアップしたものは問題なく開いて表示できるのでが、ローカル環境ではいっさい開けません。
何が困るかというと、編集したshtmlファイルを確認のために表示させようとしてもそれができないんですね。
仕方なく、いったん拡張子をhtmlに変更してから開いて確認。
問題なければ拡張子を再びshtmlに変更・・・という手間をかけねばなりません。
ネットを検索しても同じような症状が全くヒットしないのでしばらくはそのままにしておいたのですが、このままではどうにも気分が悪いわけです。
ということで、時間ができた時に徹底的に検証を試みてみました。
結果、IEの設定を見直すことで解決できました。
まず、IEの上部のメニューから「ツール」選択し、表示されたメニューの最下部の「インターネットオプション」を選択する。
次に「詳細設定」タブを選択する。
「セキュリティ」という項目が下の方に見えているので、少し下にスクロールする。
「セキュリティ」項目内に「マイコンピュータのファイルでのアクティブコンテンツの実行を許可する」という項目があるので、ここにチェックを入れる。
「OK」ボタンを押してダイアログボックスを閉じる。

ただこれだけのことなのですが、何もメッセージが表示されないものだから発見するにはそれなりに時間がかかってしまいました。(^^;

























