相対パスについての豆知識です。
問い合わせでよく聞くのですが、WordPressやCGIなどのテンプレートで階層が違うのでデザインなどが適用されないという質問があります。
なぜかというと、WordPressではパーマリンクの設定によってはhttp://example.com/2013/02/01/のようにサブディレクトリがあり、既存のサイトを元に作成したテンプレートなどでリンク指定がそのままだとCSS、画像、ハイパーリンクがおかしくなります。(たとえば、トップページを基準にcss/style.cssとしていたり。)
一方、CGIの場合、テンプレート用フォルダにテンプレート用htmlファイルを入れるものがありますが、テンプレート用フォルダで直接表示確認をしてしまうと、CGI上では正しく表示されません。
(http://example.com/cgi-bin/program/template/form.htmlで表示確認しても、実際の表示はhttp://example.com/cgi-bin/program/index.cgiの位置なので。)
こういった場合の解決策として、すぐに絶対パスを思いつきますが、実はもっといい方法があります。
ドキュメントルートからの相対パスです。
src="/images/sample.jpg"のように一文字目に/を入れて指定します。
こうすることで、ドキュメントルート(一番上の階層)を基準にしたパスとなり、どこのディレクトリからでも同じリンクを張れます。
通常の運用ではあまり有難みを感じませんが、さまざまな階層で使う必要のあるテンプレートファイルでは有効に作用します。
しかも、絶対パスと違い何らかの事情でドメインが変わったとしても書き換えの必要がありません。
デザイン畑の制作者さんだと、プログラムに疎いこともあり意外と知られていないようです。
ぜひ使ってみてください。
問い合わせでよく聞くのですが、WordPressやCGIなどのテンプレートで階層が違うのでデザインなどが適用されないという質問があります。
なぜかというと、WordPressではパーマリンクの設定によってはhttp://example.com/2013/02/01/のようにサブディレクトリがあり、既存のサイトを元に作成したテンプレートなどでリンク指定がそのままだとCSS、画像、ハイパーリンクがおかしくなります。(たとえば、トップページを基準にcss/style.cssとしていたり。)
一方、CGIの場合、テンプレート用フォルダにテンプレート用htmlファイルを入れるものがありますが、テンプレート用フォルダで直接表示確認をしてしまうと、CGI上では正しく表示されません。
(http://example.com/cgi-bin/program/template/form.htmlで表示確認しても、実際の表示はhttp://example.com/cgi-bin/program/index.cgiの位置なので。)
こういった場合の解決策として、すぐに絶対パスを思いつきますが、実はもっといい方法があります。
ドキュメントルートからの相対パスです。
src="/images/sample.jpg"のように一文字目に/を入れて指定します。
こうすることで、ドキュメントルート(一番上の階層)を基準にしたパスとなり、どこのディレクトリからでも同じリンクを張れます。
通常の運用ではあまり有難みを感じませんが、さまざまな階層で使う必要のあるテンプレートファイルでは有効に作用します。
しかも、絶対パスと違い何らかの事情でドメインが変わったとしても書き換えの必要がありません。
デザイン畑の制作者さんだと、プログラムに疎いこともあり意外と知られていないようです。
ぜひ使ってみてください。
モンクレール http://mueblesparis.com.ar/index/2014-9/LH9/omega-index.html