• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HTMLの階層について)

HTMLの階層について

このQ&Aのポイント
  • HTMLファイルを別ディレクトリに入れるとリンクがうまく貼れない問題について
  • HTMLファイルをindexと同じディレクトリに入れるとリンクが正常に機能する
  • 使用しているテンプレートはhttp://pondt.com/tmp2-2/で配布されているもの

質問者が選んだベストアンサー

  • ベストアンサー
  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.4

位置指定には絶対指定の二つの方法があります。 たとえばfile:///c:/windows/ みたいなリンクもできるのが絶対指定。 異なるサーバーなどへのリンクは絶対指定でしかできません。 対して相対指定は、単一のサーバー(あるいはローカル)で 最小限の記述で指定できるという利点があり… それ以上に、コンテンツをまるごと 異なるサーバーに移行してもそのまま利用できます。 これは自分の机から右に手を伸ばせばあの本があると考えるようなものです。 でも、今回は手狭になったから、隣の部屋に本棚を移動しちゃったような ファイル配置構成の変更を行ったんじゃないですか? そうであれば、今までのリンク記述のままではリンク切れになって当たり前です。 htmlディレクトリーの下にmainとかsubとかPhotoとかのディレクトリーを作ったなら それぞれ./html/main,./html/sub,./html/Photoといった記述にする必要があります。 ホームページ作成ソフトなどには、こういった移動に伴う リンク修正ができるものや、一括変換機能があるものがあると思います。 (私はテキストエディターの一括置換機能などでやっていましたが) なお、パソコン用のOSの中で、Windowsだけは半角アルファベットの 大文字小文字の区別が厳密ではありませんから、曖昧な使い方も横行していますが 本来のインターネット利用では、大文字小文字は区別されますから この使い分けにも注意が必要です。 たとえば、Mac,FreeBSDやLinuxでは、index.htmlとINDEX.HTMLが 同じ場所に同時に存在できるんです。

little_bob
質問者

補足

図が表示されてないので分かりづらいかもしれませんが、文字で書かせていただきます。 -----index.html  |  |  ---htmlディレクトリ     |     |    ---a.html このような構成にしています。 のでリンクが <a href="html/a.htmk"></a> と書いている状態です。

その他の回答 (3)

  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.3

パーミッションがどうなっているか確認してみてください。

little_bob
質問者

補足

オーナーのところの呼び出し、書き込み、 グループのところの呼び出し、 その他のところの呼び出しにチェックが入っています。 属性には644と数字が入っています。

noname#198951
noname#198951
回答No.2

相対ディレクトリの指定の仕方が間違っているのだと思います。 "html/a.html" ではなく "./html/a.html" で正しく表示されるはずです。 最初にある"./"が無いと、リンクするhtmlファイルのベースディレクトリ以下にhtmlディレクトリがあり、その中に"a.html"ファイルが存在するという意味になるので存在しないディレクトリを指定しているので表示されないのでしょう。 リンクするhtmlファイルと同じ階層にhtmlディレクトリを作成し、そのディレクトリの中の"a.html"ファイルにリンクをするなら現在のディレクトリ(カレントディレクトリ)を示す"./"が必要になります。 本来なら、同じディレクトリ内の別のファイルへのリンクにも"./"は必要で、同じディレクトリ内の"a.html"ファイルへのリンクは"./a.html"と書かなくてはいけないのですが、省略できるので"a.html"だけで表示できているのです。 ちなみに一つ上の階層を示すのがピリオドが一つ多い"../"となります。 このあたりはhtmlの解説書に、【相対ディレクトリ指定】と【絶対ディレクトリ指定】で解説されていると思います。

little_bob
質問者

補足

回答くださった通りにすると表示はされるようになりましたが、 「about:blank」というページは変わらずに出てきます。 考えられる原因としてはどのようなものがありますでしょうか?

  • 4017B
  • ベストアンサー率73% (1336/1814)
回答No.1

とりあえず試してみて下さい。 ・href="html/a.html" → href="./html/a.html" ~と言う風に書き換えてみる。

little_bob
質問者

補足

書き換えてみましたが解消されませんでした。 試しにと思い、新しいフォルダを作りa.htmlとhtmlフォルダに b.htmlというファイルを用意しリンクを貼ると正常に動きました。 ということはテンプレートに付属されている例えば.cssや.jsが影響しているのでしょうか?

関連するQ&A