Argo
Новичок
индексация сайта - как получить правильный url
Доброго времени суток уважаемые посетители клуба php
Мой вопрос заключается в следущем.
Задача:
Индексация/парсинг страниц сайтов и выдергивание из них URLей на которые ссылаются ссылки.
Проблема:
Ссылки на страницах не всегда абсолютные, а точнее почти всегда относительные.
Допустим я индексирую страницу находящуюся по адресу site.ru/forum/
Вижу в ней ссылку с таким адресом href='cat/page.php'
Соответственно чтобы проити по этой ссылке, и проиндексировать страницу на которую она ведет я должен запросить страницу по адресу site.ru/forum/cat/page.php
Вопрос:
Как мне (точнее программе) понять является ли basename страницы папкой, или же файлом со строкой запроса.
Допустим простейший алгоритм $page_url + $href не подходит т.к. в случае индексации страницы типа site.ru/show.php?id=101 (где basename это как раз файл с запросом )при использовании данного алгоритма мы получим site.ru/show.php?id=101/cat/page.php что естесственно неверно.
Также существуют ещё более сложные случаи допустим ссылка выглядит так href='../../page.php'
И всеже главный вопрос, как определить является ли basename страницы папкой, или же файлом со строкой запроса.
Точно существуют алгоритмы для решения данной проблемы, т.к. в браузерах url на который ведет ссылка отображается верно. Также верно индексируют подобные ссылки поисковики.
Спасибо за внимание к моей проблеме, буду благодарен за ответы и подсказки.
Доброго времени суток уважаемые посетители клуба php
Мой вопрос заключается в следущем.
Задача:
Индексация/парсинг страниц сайтов и выдергивание из них URLей на которые ссылаются ссылки.
Проблема:
Ссылки на страницах не всегда абсолютные, а точнее почти всегда относительные.
Допустим я индексирую страницу находящуюся по адресу site.ru/forum/
Вижу в ней ссылку с таким адресом href='cat/page.php'
Соответственно чтобы проити по этой ссылке, и проиндексировать страницу на которую она ведет я должен запросить страницу по адресу site.ru/forum/cat/page.php
Вопрос:
Как мне (точнее программе) понять является ли basename страницы папкой, или же файлом со строкой запроса.
Допустим простейший алгоритм $page_url + $href не подходит т.к. в случае индексации страницы типа site.ru/show.php?id=101 (где basename это как раз файл с запросом )при использовании данного алгоритма мы получим site.ru/show.php?id=101/cat/page.php что естесственно неверно.
Также существуют ещё более сложные случаи допустим ссылка выглядит так href='../../page.php'
И всеже главный вопрос, как определить является ли basename страницы папкой, или же файлом со строкой запроса.
Точно существуют алгоритмы для решения данной проблемы, т.к. в браузерах url на который ведет ссылка отображается верно. Также верно индексируют подобные ссылки поисковики.
Спасибо за внимание к моей проблеме, буду благодарен за ответы и подсказки.