こんにちは。
WEBページを作っている者です。
サイト内リンクのパスについてなのですが、
相対パスと絶対パス。
どちらのほうがよいのでしょうか?
今は相対パスで行っているのですが、
時々ドコに飛んでいるのかわからなくなることがあります(笑)
やはり、絶対パスでリンクはするべきなのでしょうか?
お仕事などでWEBページを作っておられる方は、どちらを好んで使われるのでしょうか?
(ドメインは、今後変更する可能性が非常に高いです。というのも、今はフリーのサーバースペース(FC)を使っているので…独自ドメインをじきに取得したいなと…)
(ドメイン変更の際も)一括置換ソフトなどを使用して変更すればそんなにたいした問題ではないのでしょうか?
また、一括置換ソフト(フリー)についてこちらにも回答いただけるとうれしいです 。
http://oshiete.goo.ne.jp/qa/7522915.html
↑私の質問です。
お願いいたします。
No.7ベストアンサー
- 回答日時:
><a href="/index.html">という風に書けばいいのでしょうか?
>しかし、このように書くと、bbbディレクトリの中のindex.htmlファイルにリンクしてしまうと思うのですが…
いいえ。同じ階層のファイルにリンクするときは、
href="index.html"
と先頭にスラッシュを書きません。(これは相対パス)
先頭がスラッシュだと、ホストのトップレベルを意味します。先頭がスラッシュなら絶対パスです。
No.6
- 回答日時:
No2,No4です。
>ドメインが変わったら、その部分だけ一括置換ソフトで書き換えればすむことですよね!!
もしかして、
「絶対パスとは、href="http://example.com/" のようなもの」と思っていますか?
href="/" と書いておけばドメインには無関係になります。
どれも絶対パスです。
(1) href="http://example.com/top.html" (スキームとホスト名付)
http/httpsが変わったり、ホストが変わったりしたら書き換えが必要
(2) href="//example.com/top.html" (ホスト名付)
http/httpsが変わっても書き換え不要、ホストが変わったりしたら書き換えが必要
(3) href="/top.html" (パス名のみ)
http/httpsが変わったり、ホストが変わったりしても書き換え不要
お礼が遅くなってしまい申し訳ありません。
絶対パスは、サーバードメインも含むものと思っておりました。。。
たとえば、
http://aaa.jp/bbb/ccc.htmlファイルから、
http://aaa.jp/index.htmlにリンクを張る場合、
<a href="/index.html">という風に書けばいいのでしょうか?
しかし、このように書くと、bbbディレクトリの中のindex.htmlファイルにリンクしてしまうと思うのですが…
いつも私は、<a href="../index.html">と書いています…(←コレは相対パスですよね)
No.5
- 回答日時:
>今回の場合、index.htmlというファイルがたくさんできてきて、どのインデックスに飛んでいるのかがわからなくなってしまうんです…
これは使用しているアプリケーションのマニュアルを見てください。ウィンドウのタイトルバーにファイルパスを表示させれば済むのではないかと・・。
(添付画像はEmEditor・・)
ローカルサーバーとは、たとえばapacheを自分のパソコンにインストールして、
http://local.host/index.html
で、fille:\\\D:\homepage\html3\index.htmlファイルにアクセスできるようにするということです。
hrefやsrcの値を読み取って、それがどのファイルであるか判断するのはブラウザの役割です。
現在使用しているファイルが、
http://local.host/books/index.html
であれば、uriの値が、/images/photo/01.jpgであれば、ブラウザはそのファイルが
http://local.host/images/photo/01.jpgであると判断して、local.hostに対して、/images/photo/01.jpgを要求します。
もし使用しているファイルが
fille:\\\D:\homepage\html3\index.html
であれば、自身のファイルサーバーに対して、
fille:\\\D:\images\photo\01.jpg
を要求します。そんなのありませんから・・
相対パスで、../images/photo/01.jpgでしたら
fille:\\\D:\homepage\images\photo\01.jpg
を要求します。
絶対パスと、相対パスの不整合が生じますから、ローカルサーバーがないうちは、相対パスで記述するしかないでしょう。
なお、firefoxのアドオンのserver Swicherを使用すると、ファイルサーバー(エクスプローラ)、ローカルサーバー(あれば)、リモートサーバーを切り替えてテストはできます。
回答ありがとうございます。
ローカルサーバーの意味を理解しました。
実は、ローカルサーバーも立てています。(ルーターのポート転送も設定して、
外部にも公開はしていますが、ドメインを取得していないのでIPアドレスそのままですが(笑)
>タイトルバーに(略)
というよりも、ソースを書いている際に、あのindex.htmlに飛びたいな」と思ったときに、「あれ?『../』はいくつ??」って感じに・・・
今いるのがどのインデックスなのかはあまり迷わないんですけれど
でも、ビジュアルサイトビューではわからなくなるので、ビルダーのマニュアルを読んでみたいと思います。
IEでは、file://○○○/という風に、ディレクトリ名で終わらせると、エクスプローラーでそのフォルダを開いてしまうんですよね(笑)
No.4
- 回答日時:
No2です。
>また、TOPページへのリンクも相対パスになっています。
そうすると、そのページを他の階層に移動させたとき(一段下にディレクトリを付くって下ろすとか)に、書き換えが必要ですよね。
サイト全体で共有するファイル群についても同じことが言えます。
>そうすると、そのページを他の階層に移動させたとき(一段下にディレクトリを付くって下ろすとか)に、書き換えが必要ですよね。
そうなんです…
一回それでいやな目にあって(笑)
たぶん数ページでそんな事言っちゃいけないんでしょうけど…
よく、ネットで「100ページのリンクすべて書き換える羽目になりました。」
という方を見かけますが、それは避けたいな…と…
これからTOPページなどは、絶対パスで行うことにします。
ドメインが変わったら、その部分だけ一括置換ソフトで書き換えればすむことですよね!!
No.3
- 回答日時:
webの場合ホストに用意されている『パブリック』フォルダに作成したデータはアップされます。
作成時に『index.html』を基準にリンクを張りますので、相対アドレスです。
サイト内から外部データにアクセスする場合は『絶対アドレス』ですね。
ドメインを移行する時は作成したフォルダの中身をアップすればOKです。
絶対アドレスー>”http://okwave.jp/”,HD/image/1.jpg
相対アドレスー>”././file.html"
この場合一番左が『index.html』の位置で、『file.htm』はXXXフォルダ内に存在
index.htmlーーーXXXフォルダーーーfile.htm
*PCで作成し、アップして動作していない場合は『絶対アドレス』を使っている時が有る。
(フォルダを作成せずに行っている)
回答ありがとうございます。
私としては、相対パスと絶対パスの違いは理解しているつもりです。
しかし、どちらを使うのがWEBページとして最適なのかどうかがわかりません…
きっと、人によってすべて相対パスで行う人と、
絶対パスで行う人がいるのかと思います。
私としては、
正直どちらがよいのかわかりません。
かといって、自分のサイト内でリンクするのに両方を混ぜるのはちょっと抵抗があります…
今は、HPビルダーを使っています。
ビジュアルサイトビューでは、相対パスでなければ機能しない気がするので、
相対パスにしようかと思ったり、
各ファイルへのアドレスが絶対パスを使用すれば、どのディレクトリにあるHTMLファイルでも同じものが使えるので、ヘッダーなどがまったく同じものを使いまわせるなぁ~と…
No.2
- 回答日時:
ひとかたまりのファイルの中で他のファイルを参照するなら相対パス。
サイトの中で共通で使う画像やcss、JavaScriptファイルなどを参照するなら絶対パス。
あと、当然ですが、サイトの中で固定アドレス的に使う物は絶対パス。TOPページを参照する href="/" とか href="/copyright.html" とか。
回答ありがとうございます。
今のところ、CSSやジャバスクリプト、画像ファイルなどもすべて相対パスで行っています。
また、TOPページへのリンクも相対パスになっています。
このようなものは絶対パスのほうがいいのでしょうか?
No.1
- 回答日時:
相対パスでよいです。
絶対パスを利用するときはローカルサーバーがないと現実的ではありません。たとえば、<img src="/images/photo/viewFromsea.jpg" ****>では、表示されませんね。
>時々ドコに飛んでいるのかわからなくなることがあります
これは、ディレクトリ構成がまずい・・
サイトリンクの構成などを伝えるにはどうすれば? - HTML - 教えて!goo ( http://oshiete.goo.ne.jp/qa/7514366.html#a1 )のように、きちんと系統だって作成していれば迷わないはずです。
回答ありがとうございます。
ローカルサーバー…とは…どういうことでしょうか…?
サイトのディレクトリ構成ですが、参考URLのとおりそのままに作っています。
(自分は、ファイルを整理するのが好きなタイプのようで…なので、自動で保存するソフトとかってすごく嫌いなんです(笑)撮りためた写真とかも全部手動でフォルダわけして…という感じに)
ただ、今回の場合、index.htmlというファイルがたくさんできてきて、どのインデックスに飛んでいるのかがわからなくなってしまうんです…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リンク先に日本語フォルダがあ...
-
ホームを index.html から inde...
-
複数のindex.htmlを作ってもい...
-
1つ下の階層のフォルダに相対...
-
HTMLの階層移動
-
1つのファイルを 100 のフォル...
-
ホームページを作成したら、フ...
-
HP サイト FTP FFFTP ffftp...
-
1+(1+2)+(1+2+3)....+(1+2+...+...
-
サーバー内のフォルダにある写...
-
忍者へFTP接続でVBAでファイル...
-
URLに「.html」の拡張子がなく...
-
既存ウェブサイトをWordPressへ...
-
iframe内のリンク先を動的に変更
-
相対パスと絶対パス
-
Application.OnTimeで引数付き...
-
JSPと異なるディレクトリのファ...
-
複数のindexと優先度について
-
HTMLからフォルダを開きたい
-
Excelで、社外秘(閲覧のみ)と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1つ下の階層のフォルダに相対...
-
複数のindex.htmlを作ってもい...
-
URLに「.html」の拡張子がなく...
-
XREA使用で作成したHTMLファイ...
-
リンク先に日本語フォルダがあ...
-
.htmと.htmlの違い
-
htmlでリンクに勝手にindex.htm...
-
URLの日付について
-
FTPしたのに、ページが真っ白です
-
トップページ「/index.html」の...
-
webサイトの「index」を非表示...
-
Apacheで、indexの拡張子別に優...
-
サーバー内のフォルダにある写...
-
URLの.html省略について
-
真っ白な画面の意味はなんでし...
-
相対パス
-
ホームページビルダー6サーバー...
-
URLにCGIのファイル名を出さな...
-
ホームを index.html から inde...
-
フォルダ内の最初のファイル名...
おすすめ情報