人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

HTMLから外部ファイルへの参照方法について。
CSSや画像をHTMLから参照しようとするとき、"/image/hoge.jpg"のように書くと読める環境と読めない環境があります。
ずっとUNIXとWindowsの違いだと思っていたのですが、WinXP+xamppの環境を2つ用意したところ一方は読めて一方は読めないという現象になりました。
これはどこかで設定しているものなんでしょうか

●質問者: dedara
●カテゴリ:インターネット ウェブ制作
✍キーワード:.jpg CSS hoge HTML UNIX
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● yofukaci
●0ポイント

"./image/hoge.jpg”

とかで書いてみては?

◎質問者からの返答

そういうことを聞いているのではなく、どこかで設定するものであれば

どこで設定しているのか、というようなことです。

別に読めなくて困っているわけではありません


2 ● motokun44
●70ポイント ベストアンサー

「/」はルートディレクトリ(topディレクトリ、Windowsの場合なら通常は C:\)

「./」は現在の作業ディレクトリ("カレントディレクトリ"といい、通常はブラウザで見ている場合なら、そのHTMLファイルがあるディレクトリ、cgiで出力しているならそのCGIファイルがあるディレクトリ)

「../」は「./」の1つ上のディレクトリ、「../../」はそのまた1つ上のディレクトリ

を示します。

ですが、Windowsでは作業ディレクトリをプログラムごと、またはファイルごとに別に指定することができますので、そのファイルがあるディレクトリとカレントディレクトリが異なる場合があり、意図した動作をしない場合があります。

◎質問者からの返答

一方がたまたまドキュメントルートになってただけでした。

ありがとうございます


3 ● kn1967
●10ポイント

2台の環境に、どこか違いがあるとすれば、まずはそれを比較する必要があります。

環境は同じ(はず)なのに読める場合と読めない場合が出るという事であれば、

それはアクセス方法によって、対応が変わるためだと思われます。


■読める場合

http://IPアドレス/index.html のようにアクセス

OSは Webサーバソフト にアドレスを渡す。

※この時点で処理はOSではなくWebサーバに移るので、

対応の違いはWindowsだからUnixだからという問題ではなく、

Webサーバソフトの違いによるものになる。

xampp なら apacheが担当。

apacheは ドキュメントルートというものを基準にファイルを探す。

仮にc:¥apache¥docroot¥というディレクトリに設定されているすると、

/image/hoge.jpg は c:¥apache¥docroot¥image¥hoge.jpg に変換される。


■読めない場合

c:¥ディレクトリ¥index.html のようにアクセス

※Windowsの場合です。

Windowsが対応します。

Windowsのルートはカレントドライブの¥になりますので、

/image/hoge.jpg は c:¥image¥hoge.jpg に変換されます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ