Ссылки не возвращаются в каталог?
Это, наверное, глупый вопрос, и у меня есть ответ сам, но я хочу знать, что я делаю что-то неправильно. У меня есть веб-сайт, позвоните ему 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
Спасибо заранее.
Ответы
Ответ 1
Вам нужно указать относительный путь к файлу <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>
Ответ 2
Существует два типа путей: абсолютный и относительный. Это в основном то же самое для файлов на вашем жестком диске и в каталогах в 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
Как только вы знакомы с условиями, легко понять, что это не удается и как это исправить. У вас есть два варианта:
- Использовать абсолютные пути
- Исправить относительные пути
Ответ 3
Чтобы перейти в каталог по ссылке, используйте ..
. Это означает, что "пойдите вверх по одному каталогу", поэтому ваша ссылка будет выглядеть примерно так:
<a href="../index.html">Home</a>