URLの絶対パスと相対パス
※実経験の記憶を頼りに自宅の PC 環境(VMWareなど)で再現している内容もあるのでご注意下さい
2009-05-26
URL の絶対パスと相対パスという表現が正しいかどうかわかりませんが、html や php などのファイルを配備するディレクトリの階層が変わると、URL のパスが変わるのでリンク先や画像パスの定義を意識する必要があります。
昔(10年くらい前)は静的な html でサイトを作っていたので、共通化しにくい分、最初の設計が重要でしたが、動的なサイトではどうとでもなる問題ですね。
ただ、いろいろなプロジェクトを経験していると素直にいかない案件も多いわけで、本番用のサーバとテスト用のサーバで Web サーバの設定が大きく違っている時は泣きそうになります。個人的には Apache では VirtualHost でサイトを振り分けることが好きですが、ディレクトリ(Directory)で適当な設定とかされていると厄介です。
この辺を吸収してくれるフレームワークもありますが、できればサーバ環境は統一しておきたいところです。予算の関係でテスト環境を用意できない案件もちらほら聞きますが・・・。各自のローカル環境もまたバラバラですしね。
一番手っ取り早いのは、ドキュメントルートを起点としてスラッシュ(/)から画像パスなどを定義する方法ですが、環境によるドメインの置換も考慮してフルパス(httpから始まるURL)で定義しているサイトも見かけます。
(例)画像が http://it.pakapaka.jp/image/ 配下にある場合 [DocumentRootからのパス] /image/hogehoge.gif [絶対パス(フルパス)] http://it.pakapaka.jp/image/hogehoge.gif [相対パス] ※この構成だけは避けたい ../../image/hogehoge.gif
いくら小さなサイトだとしても、最初から階層化を考慮した設計をしておかないと、後々困るので気を付けないといけません。単なる愚痴で終わってしまった・・・。
関連記事
上記の記事に関連する記事(最新の10件)です。


