|
テーマ:たわごと(26724)
カテゴリ:プログラム
ホームページを部分的に自動生成する仕組みを作りつつふと思ったので,書いてみるよ
以下のような状況を想定してみる. index.html | +----- rockman.html | +----- [ dir ] | +----- roll.html 何でもかんでもロックマンとかロールちゃんとかって名前付けるのやめれー! とか言わないの URLで言うと"http://localhost/index.html"としましょう. つまり,ローカルサーバの公開領域の直下に"index.html"がいる訳です. で,"index.html"から見ると,同じ階層に"rockman.html"がいます. さらに同じ階層に"dir"というフォルダがあり,その下に"roll.html"がいます この時,"index.html"から"rockman.html"と"roll.html"へのリンクを張ることを考えてみましょう. ・方法1(絶対パス) "rockman.html" : http://localhost/rockman.html "roll.html" : http://localhost/dir/roll.html ・方法2(相対パス) "rockman.html" : rockman.html "roll.html" : dir/roll.html おぉ~,全然記述方法が違いますねぇ 上記とは逆に,"roll.html"から"rockman.html"と"index.html"へのリンクを張ることを考えてみましょう. ・方法1(絶対パス) "rockman.html" : http://localhost/rockman.html "index.html" : http://localhost/index.html ・方法2(相対パス) "rockman.html" : ../rockman.html "index.html" : ../index.html 絶対パスだと,"index.html"から見ても"roll.html"から見ても同じ記述方法でOKですね! これだと深く考えずにコピペしていけば大丈夫そうです. ただ,ちょっと文字列が長くなってしまうのが傷ですね~ 対して,相対パスですが,"index.html"から見た時と"roll.html"から見た時とで記述方法が変化しています. これは今どの位置にいるかで目的の位置までの生き方が変わるという相対パスの考え方そのものですね. "../"は1つ下という意味なので,2階層下であれば"../../"のような表記になります. ただ,相対パスの方が圧倒的に短く記述できますよね! つまり,ファイルの容量が小さくて済む訳です! ファイルの容量が小さく済むと,通信速度にも微々たるものながら影響しそうですよね~. でで,どっちが良いかってことですけど,個人的には絶対パスの方が良いかなぁと思います. 何といっても,記述が楽ですからね!! あと,ホームページのソースコードって簡単にコピーできちゃうので,参考になるサイトがあって良いなぁと思えば,大体のものはそっくりそのままコピーすることが出来ちゃいます. もちろん,私も参考のためにソースコードを見させていただくことは多々ありますので,覗くことは決して悪ではありませんが,時間をかけて作成したものをあっさりコピーされると何か悔しいですよね~ 特に悪意のあるサイトがそうです. こういう時に相対パスで指定していると,そのまま機能しちゃいますが,絶対パスなら元々の自分のサイトへのリンクになっているため,そのまま使用することは出来ません! この修正をしないといけない,というのはけっこう有効かなぁと まぁローカル環境で作業する時には不便ですけどね…. 自動生成する機構があれば,変数指定で後で書き換えてやれば良いですが,HTMLオンリーだとちょっと面倒くさいかなぁ. 最終的には好みなのかな?? 【送料無料】 はじめてのホームページHTML入門 BASIC MASTER SERIES / 荒石正二 【単行本】 【送料無料選択可!】みるみるPHPがわかる本 (単行本・ムック) / 掌田 津耶乃 著 お気に入りの記事を「いいね!」で応援しよう
[プログラム] カテゴリの最新記事
|
|