web-dev-qa-db-ja.com

リンクはディレクトリに戻りませんか?

これはおそらくばかげた質問であり、私は自分で答えを持っていますが、何か間違っているのかどうかを知りたいです。ウェブサイトを持っています。www.mysite.comと呼びましょう。このサイト内にはいくつかのFAQがありますが、サイトを構築した人は、「FAQs」という名前のサイトのディレクトリの下にFAQページを保存しました。

たとえば、FAQページは次の場所にあります。

www.mysite.com/pages/en/faqs/faq-page1.html

pages/en/ディレクトリに注意してください。理想的には、すべてのページをwww.mysite.com/index.htmlなどの下に保存したいのですが、これを変更することはできません。

とにかく、これらのFAQ=)ページのいずれかにいて、ホームページindex.htmlに戻るようにリンクしようとすると、ナビゲーションはページに移動しません。たとえば、 、私がいるとき:

www.mysite.com/pages/en/faqs/faq-page1.html

そして、ホームページにリンクしようとします

www.mysite.com/pages/en/index.html(インデックスページが保存される場所)は、ナビゲーションが機能しません。代わりに、www.mysite.com/pages/en/faqs/index.htmlに移動しようとします。

私は「faq」ディレクトリにいるため、これが起こると仮定していますが、リンクするときにルートディレクトリに戻るにはどうすればよいですか?リンクのコードは、単に<a href="index.html">Home</a>です。もちろん、完全なリンクwww.mysite.com/pages/en/index.htmlを入力するだけで解決できますが、これを解決する方法はありますか?このような長い投稿でごめんなさい、私はこれをもっとうまく説明できたかもしれませんが、私はできません:S

前もって感謝します。

25
zik

<a href="../index.html">Home</a>の相対ファイルパスを指定する必要があります

または、<a href="/pages/en/index.html">Home</a>を使用してサイトのルートからリンクを指定できます

..および.はファイルパスで特別な意味を持ち、..は1つ上のディレクトリを意味し、.は現在のディレクトリを意味します。

<a href="index.html">Home</a><a href="./index.html">Home</a>と同じです

41
Robb

パスには、絶対パスと相対パスの2種類があります。これは基本的に、ハードディスクのファイルとURLのディレクトリで同じです。

絶対パスは先頭のスラッシュで始まります。どこを使用しても、常に同じ場所を指します。

  • /pages/en/faqs/faq-page1.html

相対パスは残り(スラッシュで始まらないすべて)です。それらが指す場所依存それらを使用している場所

  • index.html is:
    • /pages/en/faqs/index.htmlから呼び出された場合/pages/en/faqs/faq-page1.html
    • /pages/index.htmlから呼び出された場合/pages/example.html
    • 等.

2つの特別なディレクトリ名もあります:.および..

  • .は「現在のディレクトリ」を意味します
  • ..は「親ディレクトリ」を意味します

これらを使用して、相対パスを作成できます。

  • ../index.html/pages/en/index.htmlから呼び出された場合/pages/en/faqs/faq-page1.html
  • ../../index.html/pages/index.htmlから呼び出された場合/pages/en/faqs/faq-page1.html

用語に慣れれば、失敗の原因と修正方法を簡単に理解できます。次の2つのオプションがあります。

  • 絶対パスを使用する
  • 相対パスを修正する
19

リンク内のディレクトリに移動するには、..を使用します。これは「1つのディレクトリに移動する」ことを意味するため、リンクは次のようになります。

<a href="../index.html">Home</a>
6
lonesomeday