- ベストアンサー
1つ下の階層のフォルダに相対パスでアクセスするには
例えば今 http://kudamono.com のページにいるとして、以下のような1つ下の階層のフォルダ http://kudamono.com/mikan/ (index.htmlなしのページに正規化しています) にアクセスするには、次の二つの記述ではどちらがより望ましいですか? href="./mikan/" href="mikan/" ご回答よろしくおねがいします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
正しくは「./」からの記述なんですが、「./」は省略可能です。 ただ「./」から書いているページはほとんど見た事が有りません。 私が「./」を使うのは、同階層のindexにアクセスする時だけですね。
その他の回答 (2)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
サーバーとかには全く無関係でブラウザの機能です。 HTTPプロトコルは、基本的にセッション単位の接続になります。FirefoxのLive HTTP Headersを使えば一目瞭然ですが、 http://kudamono.com という要求に対して、DIRECTORY INDEXで指定してあるファイルが送り返されていますから、ブラウザはカレント(現在地)は/だということを知っています。 ここでページ内に <a href="./mikan/"> <a href="mikan/"> のいずれであっても、ブラウザはサーバーに対して、 GET /mikan/ を要求していますね。!!! ここからは、HTTPサーバーの仕事になります。すなわち /mikan/ を開こうとします。これはディレクトリですから、そのディレクトリにDIRECTORY INDEXが指定されていれば、そのファイルを提供します。 もし、 <a href="/mikan/index.html"> でしたら、ファイル名まで指定するほうが、動作的には負荷は少ないですが、問題になる差ではないでしょう。 >(index.htmlなしのページに正規化しています) この意味が分からないのですが、PATH_INFOで動的にコンテンツを作成しているのですか?単にファイルなり実行ファイルでしたらDIRECTROY INDEXで指定しますけど・・ [apache httpd.conf] <IfModule dir_module> DirectoryIndex index.html index.htm index.cgi index.sh </IfModule> とか・・
お礼
詳しいご回答ありがとうございます 正規化しているとは、例えば http://kudamono.com/index.htmlにアクセスしたら http://kudamono.comにアクセスしなおすように.htaccessファイルで指定しているという意味でした
- ok-kaneto
- ベストアンサー率39% (1798/4531)
サーバによります。 下は使えないサーバがありますが、短くてすむというメリットがあります。
お礼
サーバーによってできない場合があるとは知りませんでした。 ご回答ありがとうございました。
お礼
省略しても特に問題なさそうだと思うので、index以外は省略した記述でいこうと思います。 ご回答ありがとうございました。