プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。

Windows2003サーバA(IIS)上にあるHTML(charset=UTF-8)内に
<a href="¥¥server-1¥フォルダ A¥テスト.ppt">PPT</a>
というコードを埋めてクライアントからアクセスすると

・クライアントA WinXPSP2+ie6+SP2+最新パッチ →OK
・クライアントB WinXPSP2+ie6+SP2+最新パッチ →NG(ファイルが見つかりません)
・クライアントC WinXPSP2+ie7+最新パッチ →NG(ファイルが見つかりません)

という三者三様の動きをしてしまいます。
このとき、いずれのクライアントのブラウザに表示されているリンク部分にマウスを乗せても、ステータスバーに
file://server-1¥フォルダ%20A¥テスト.ppt
と表示されます。
また、hrefに設定しているURLを各ブラウザのアドレスバーに直接入力すると、それぞれ、問題なくファイルを開くことができます。

お尋ねしたいのは次の2点です。
1.このようにaタグ内のhrefにネットワークパスを使ったファイル名(UNC)を利用してもよいのでしょうか?
2.ie6のクライアントでもできるものとできないものがあります。
どのような原因が考えられるでしょうか?

よろしくお願いいたします。

A 回答 (2件)

A要素のhref属性は,URIであるとされています。


http://www.w3.org/TR/html4/struct/links.html#h-1 …
そのため,UNCを直接書くことはHTMLの規格違反となります。

Fileスキームは有効なので,href属性には
file://server-1/%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%20A/%E3%83%86%E3%82%B9%E3%83%88.ppt
のように書くか,手を抜いて
file://server-1/フォルダ A/テスト.ppt
と書くのがよいでしょう。
# URIの規格としては前者。ただし,おそらく後者でもブラウザは認識するため,後者の方が見やすい。
    • good
    • 0
この回答へのお礼

Yune-Kichiさん、ありがとうございました。

お礼日時:2008/02/23 00:52

server-1にアクセスするパスワードなどは正しいですか?



<a href="¥¥server-1¥">テスト</a>
にはアクセス出来ますか?
また、ファイル名を半角英数字(スペース無し)にすると、表示出来ますか?

日本語のファイル名にしたときだけファイルが見つからないなら、文字コードの問題だと思います。

IEのツールメニュー->インターネットオプション->詳細設定
ここのUTF-8のURLを送信するにチェックが付いていると、
日本語のファイル名は表示出来ないことがあります。
あらかじめファイル名をShift_JISとしてURLエンコードしておくと、ファイルが見つかるかもしれません。

ファイル名を半角英数字とハイフンやアンダースコアなど一部の記号だけにするのを推奨です。

> 1.このようにaタグ内のhrefにネットワークパスを使ったファイル名(UNC)を利用してもよいのでしょうか?

IEのみ使用可能のようです。(ブラウザの設定に依存する可能性有り。私の環境ではWindows Explorerが開きました。)
他のブラウザではhttp://IPアドレス/を使用して下さい。
    • good
    • 0
この回答へのお礼

talooさん、ありがとうございました。

お礼日時:2008/02/23 00:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!