Ссылки не возвращаются в каталог? - PullRequest
25 голосов
/ 01 февраля 2011

это, вероятно, глупый вопрос, и у меня есть ответ сам, но я хочу знать, делаю ли я что-то не так. У меня есть сайт, назовем его www.mysite.com. На этом сайте у меня есть несколько часто задаваемых вопросов, но человек, который создал сайт, сохранил страницы часто задаваемых вопросов в каталоге на сайте под названием «Часто задаваемые вопросы».

Например, страница часто задаваемых вопросов может быть расположена по адресу:

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

Обратите внимание на каталог pages/en/. В идеале я хотел бы, чтобы все страницы были сохранены в www.mysite.com/index.html и т. Д., Но я не могу изменить это.

В любом случае, когда я нахожусь на любой из этих страниц часто задаваемых вопросов, и я пытаюсь вернуться по ссылке, чтобы сказать домашнюю страницу 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

Заранее спасибо.

Ответы [ 3 ]

41 голосов
/ 01 февраля 2011

Вам необходимо указать относительный путь к файлу <a href="../index.html">Home</a>

Также вы можете указать ссылку в корне вашего сайта с помощью <a href="/pages/en/index.html">Home</a>

.. и . имеют специальные значения в путях к файлам, .. означает один каталог, а . означает текущий каталог.

поэтому <a href="index.html">Home</a> совпадает с <a href="./index.html">Home</a>

19 голосов
/ 01 февраля 2011

Существует два типа путей: абсолютный и относительный.Это в основном то же самое для файлов на жестком диске и каталогов в URL.

Абсолютные пути начинаются с косой черты.Они всегда указывают на одно и то же местоположение, независимо от того, где вы их используете:

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

Остальные относительные пути (все, которые не начинаются с косой черты),Местоположение, на которое они указывают , зависит от того, где вы их используете

  • index.html:
    • /pages/en/faqs/index.html при вызове с /pages/en/faqs/faq-page1.html
    • /pages/index.html при вызове с /pages/example.html
    • и т. Д.

Также есть два специальных имени каталога: . и ..:

  • . означает «текущий каталог»
  • .. означает «родительский каталог»

Вы можете использовать их для построения относительных путей:

  • ../index.html равно /pages/en/index.html при вызове с /pages/en/faqs/faq-page1.html
  • ../../index.html равно /pages/index.html при вызове с /pages/en/faqs/faq-page1.html

Когда вы ознакомитесь с терминами, легко понять, в чем проблема, и как это исправить.У вас есть два варианта:

  • Использовать абсолютные пути
  • Исправить ваши относительные пути
5 голосов
/ 01 февраля 2011

Чтобы перейти в каталог по ссылке, используйте ...Это означает «перейти на один каталог вверх», поэтому ваша ссылка будет выглядеть примерно так:

<a href="../index.html">Home</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...