Относительные html ссылки
6 повідомлень
#15 років тому
Добрый день, Вот столкнулся с таким вопросом:
Есть сайт: посилання
На странице: посилання
Есть ссылка: <a href="catalog/auto">Автотехника</a>
Я так понимаю, что так как ссылка не начинается с "/", значит что это относительная ссылка относительно текущего каталога. Следовательно она должна ссылаться на посилання.
Реально же это ссылка на посилання и это же дают браузеры.
Вопрос по какому правилу это определяется?
С уважением
3195 повідомлень
6 повідомлень
#15 років тому
Цитата ("AlekartRu"):После about слеш поставьте и будет так как вам нужно.
А без слеша - это корень сайта, поэтому ]http://www.techhome.ru/catalog/auto
Все равное не понял.
Это не мой сайт, мне его надо распарсить (или сделать обход по всем ссылкам). Вопрос как мне обрабатывать ссылки при том, чтобы этот метод был универсальным и подходил для все других сайтов.
При этом если я в браузере ввожу посилання или посилання (я это делаю в хроме), то разницы абсолютно никакой. Т.е. при наведении на ссылку catalog/auto, браузер в обоих случаях выдает абсолютную ссылку посилання.
578 повідомлень
#15 років тому
Ответ лежит на поверхности )) и AlekartRu уже на него указал.переходя по ссылке http://www.techhome.ru/about фактически мы переходим куда-то типа http://www.techhome.ru/index.php?section=about или еще хуже, но главное - отстаемся в корне.
mod_rewrite рулит в данном случае на сайте доноре.
----------
поэтому если пишете "парсер" то остается только посоветовать прописывать для каждого донора свой метод - универсальных еще никто не изобрел, поэтому мы тут и существуем... отлавливайте слеш на конце (и не забывайте про слеш вначале относ ссылок, и еще про тег base где-нибудь в другом конце кода донора)
15 повідомлень
#15 років тому
Цитата:При этом если я в браузере ввожу посилання или посилання (я это делаю в хроме), то разницы абсолютно никакой. Т.е. при наведении на ссылку catalog/auto, браузер в обоих случаях выдает абсолютную ссылку посилання
Смотрите код внимательней (:
http://www.techhome.ru/about
ссылка <a href="catalog/auto">Автотехника</a>
http://www.techhome.ru/about/
ссылка меняется на <a href="../catalog/auto">Автотехника</a>
Соответственно ../ - ссылка на родительскую дирректорию. В данном случае - корень сайта.
6 повідомлень
#15 років тому
Цитата ("vladmax"):Ответ лежит на поверхности )) и AlekartRu уже на него указал.
переходя по ссылке http://www.techhome.ru/about фактически мы переходим куда-то типа http://www.techhome.ru/index.php?section=about или еще хуже, но главное - отстаемся в корне.
mod_rewrite рулит в данном случае на сайте доноре.
----------
поэтому если пишете "парсер" то остается только посоветовать прописывать для каждого донора свой метод - универсальных еще никто не изобрел, поэтому мы тут и существуем... отлавливайте слеш на конце (и не забывайте про слеш вначале относ ссылок, и еще про тег base где-нибудь в другом конце кода донора)
Хорошо, но как тогда гугл хром правильно определяет фактическое положение?
15 повідомлень
#15 років тому
Цитата ("andreyyur"):Хорошо, но как тогда гугл хром правильно определяет фактическое положение?
Пример.
Текущая ссылка - http://www.techhome.ru/about/blablabla.php?aidjoaiwjd
Соответственно местоположение - http://www.techhome.ru/about/
Берем ссылку из меню - ../catalog/auto (начинается не со слеша, соответственно работаем с текущем местоположением).
Соответственно http://www.techhome.ru/about/../catalog/auto == http://www.techhome.ru/catalog/auto (не забываем, что ../ - означает переход на один уровень вверх)
6 повідомлень
#15 років тому
Цитата ("ferggren"):Цитата ("andreyyur"):Хорошо, но как тогда гугл хром правильно определяет фактическое положение?
Пример.
Текущая ссылка - http://www.techhome.ru/about/blablabla.php?aidjoaiwjd
Соответственно местоположение - http://www.techhome.ru/about/
Берем ссылку из меню - ../catalog/auto
Соответственно http://www.techhome.ru/about/../catalog/auto == http://www.techhome.ru/catalog/auto (не забываем, что ../ - на один уровень вверх)
Спасибо за ответы!
Но все равно не догоняю.
Как браузер (например хром) это определяет:
1. Откуда он знает какая реальная текущая ссылка, если ссылка по которой он пришел имеет вид посилання?
2. Именно на этой странице (посилання) ссылка из меню без ".." и без "/" вначале - catalog/auto - тогда как браузер определяет что ему надо спуститься на один уровень вверх?
15 повідомлень
#15 років тому
Цитата ("andreyyur"):2. Именно на этой странице (посилання) ссылка из меню без ".." и без "/" вначале - catalog/auto - тогда как браузер определяет что ему надо спуститься на один уровень вверх?
Для ссылки http://www.techhome.ru/about местоположение - http://www.techhome.ru/. Соответственно http://www.techhome.ru/ + catalog/auto = http://www.techhome.ru/catalog/auto
6 повідомлень
#15 років тому
Цитата ("ferggren"):
Для ссылки http://www.techhome.ru/about местоположение - http://www.techhome.ru/. Соответственно http://www.techhome.ru/ + catalog/auto = http://www.techhome.ru/catalog/auto
Хорошо. Но тогда что с ответом на первый вопрос?
578 повідомлень
#15 років тому
Цитата ("andreyyur"):Хорошо. Но тогда что с ответом на первый вопрос??????????????????? у вас написано посилання - по вашему это что? броузер это видит как файл about лежащий в корне. вы никогда не видели файлы без расширения? поверьте они бывают - вот посмотрите например у меня тут http://telesys.ru/tests/ord/orders - это как раз таки файл orders лежащий в директории ord а никак не директория orders. вот именно так и видит это дело броузер, не важно сгенерил это мод-рерайт или это в натуре имя файла.... поэтому в вашем случае активной диреткорией он считает корень а в моем примере активная директория - ord
6 повідомлень
#15 років тому
Цитата ("vladmax"):Цитата ("andreyyur"):Хорошо. Но тогда что с ответом на первый вопрос??????????????????? у вас написано посилання - по вашему это что? броузер это видит как файл about лежащий в корне. вы никогда не видели файлы без расширения? поверьте они бывают - вот посмотрите например у меня тут http://telesys.ru/tests/ord/orders - это как раз таки файл orders лежащий в директории ord а никак не директория orders. вот именно так и видит это дело броузер, не важно сгенерил это мод-рерайт или это в натуре имя файла.... поэтому в вашем случае активной диреткорией он считает корень а в моем примере активная директория - ord
Большое спасибо!!!
Вот это то, что хотел услышать!!!
Всем спасибо! Вопрос закрыт!