現在オフラインです。再接続するためにインターネットの接続を待っています

エスケープ文字を含むローカルパスをアドレスバーに指定した場合にエラーが出力される

概要
この資料は Internet Explorer 6 Service Pack 2 環境下において、エスケープ文字を含むローカルパスをアドレスバーに指定した場合の動作について記述したものです。
現象
Internet Explorer 6 Service Pack 2 環境下において、エスケープ文字を含むローカルパス(C:\test.html? 等)をアドレスバーに指定した場合下記のエラーメッセージが出力される場合があります。
'file:///C:/test.html%3F' が見つかりません。パスまたはインターネット アドレスが正しいかどうかを確認してください。
原因

Internet Explorer の動作としてアドレスバーに URL 形式(例: file://~) で入力されていない場合は、自動的に URL 形式に変換しようとします。その際、 例えば file:///c:/test.htm%3F の様に"?"のようなエスケープ文字も URL エンコードします。

Internet Explorer 6 Service Pack 1 以前のバージョンの動作として、上記のような URL の場合、再度エスケープ文字をデコードし、アクセスするのでエラーになりません。

Internet Explorer 6 Service Pack 2 の動作として、 上記のような URL の場合、URL の妥当性チェックが動作し結果的に、 file:///c:/text.htm%3F でアクセスしてしまいエラーが発生します。
解決方法
下記のレジストリを設定することにより URL の妥当性チェックを無効にし、現象を回避することができます。

キー: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_VALIDATE_NAVIGATE_URL
種類: REG DWORD
エントリ: iexplore.exe
値: 0

注意:本レジストリを構成することにより Internet Explorer 6 Service Pack 2 の既定の動作であります、URL の安全性のチェックは行われなくなります。
プロパティ

文書番号:907712 - 最終更新日: 09/09/2005 09:14:10 - リビジョン: 1.0

Microsoft Internet Explorer 6.0 Service Pack 2

  • kbinfo KB907712
フィードバック
appendChild(m);