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

丁度いい機会なので次いでにもう1つ教えて下さい。
linkでフォルダを指定する時、..\とすれば
親フォルダの指定になることは分かっています。
 
アップロード先が変わることも考えて、自分のサイト内の
リンクはできるだけ相対で行いたいと思っています。
上記のような簡略化した技があったら教えて下さい。

私としてはhtmlの現在のフォルダ位置、
ないしtopページのあるフォルダ位置が
分かる方法が特に知りたいです。

A 回答 (1件)

Windows以外は、ひとつ上位のディレクトリは、../です。

./は現在(カレント)のディレクトリ。
「アップロード先が変わることも考え」る場合は、基本的にルートからの絶対パスを書きます。
 /images/Logo/top.gif
だと、そのHTMLをどこに移動しても有効です。もし相対パスで
 ../images/Logo/top.gif
としていたら、違う階層にアップロードしたら役に立ちませんね。

/books/test.htmlをbooks/book1/test.htmlに移動した場合

/     ルート
|-- index.html
|-- books/
|   |-- test.html <img src="../images/Logo/top.gif">
|   |  ・   これは、[ルート]/images/Logo/top.gifと言う意味
|   |  ・     <img src="/images/Logo/top.gif">
|   |      これも、[ルート]/images/Logo/top.gifと言う意味
|   |     
|   |-- book1
|   |   |-- test.html <img src="../images/Logo/top.gif">
|   |     これは、[ルート]/books/images/Logo/top.gifと言う意味
|   |     で、それは存在しない無効!!
|   |       <img src="/images/Logo/top.gif">
|   |     これは、[ルート]/images/Logo/top.gifと言う意味で有効
|
|-- images
|   |-- Logo
|      |-- top.gif

 ただし、絶対パスで記述するとローカルサーバーが無い場合は、機能しない場合があるので注意してください。

「htmlの現在のフォルダ位置、ないしtopページのあるフォルダ位置が分かる方法」はありません。
 あくまで、ブラウザがURLを見て判断するだけです。たとえば
http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/ABC/v …
 と、ABC以下(ABCも)をどのようなディレクトリ(パス)やファイル名にしても、あたかもそのディレクトリやファイルが実在するように表示されますが、現実には存在しません。現実のカレント(現在のディレクトリ名)や、トップの位置は、このプログラムのように他の手段に頼らないと無理です。--具体的にはサーバーのコンピューターの環境変数のDOCUMENT_ROOTやSCRIPT_NAMEを参照します。
 環境変数:Windowsだと、マイコンピューター→プロパティ→詳細設定→環境変数にあたる。


 
 

この回答への補足

質問が別になるみたいなんで
別件で質問します。

補足日時:2011/09/11 15:55
    • good
    • 0
この回答へのお礼

ご回答どうもです。
windowsでテストしていましたので¥表記でしたw

環境変数を使う方法はちょっと調べてみましたが、
OS固有の状態に依存するので良くないようですね。
 
フォルダの階層が5つぐらいになりそうです。
CSSは別ファイルがいいみたいなので
TOPかその1個下にまとめて置こうかなと思いました。

/(ルート)って一番上っていう意味ですよね?
それともアップロードした先が自動的にルートになりますか?
これが分からないとCSSをまとめて置いても
意味がなくなるので。。。

お礼日時:2011/09/11 15:36

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