Я развертываю сайт-замену для клиента, но он не хочет, чтобы все его старые страницы заканчивались на 404. Сохранить старую структуру URL-адресов было невозможно, потому что это было ужасно.
Поэтому я пишу обработчик 404, который должен искать запрашиваемую старую страницу и выполнять постоянное перенаправление на новую страницу. Проблема в том, что мне нужен список всех URL-адресов старых страниц.
Я мог бы сделать это вручную, но мне было бы интересно, есть ли какие-либо приложения, которые предоставили бы мне список относительных (например: / page / path, а не http: /.../ page / path) URL-адресов, только что заданных для дома страница. Как паук, который не заботится о содержании, кроме как найти более глубокие страницы.
web-crawler
Оли
источник
источник
Ответы:
Я не хотел отвечать на свой вопрос, просто подумал о запуске генератора карты сайта. Первый, который я нашел, http://www.xml-sitemaps.com имеет приятный текстовый вывод. Идеально подходит для моих нужд.
источник
делать
wget -r -l0 www.oldsite.com
find www.oldsite.com
Я полагаю, тогда просто откроются все URL-адреса.В качестве альтернативы, просто обслуживайте эту настраиваемую ненайденную страницу при каждом запросе 404! То есть, если кто-то использовал неправильную ссылку, он получал бы страницу, сообщающую, что страница не найдена, и давал некоторые подсказки о содержании сайта.
источник
include
/require
/ etc. сборка страниц, это не сработает.Вот список генераторов карты сайта (из которого, очевидно, вы можете получить список URL-адресов с сайта): http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators
источник
Лучшее, что я нашел, - это http://www.auditmypc.com/xml-sitemap.asp, который использует Java, не имеет ограничений на количество страниц и даже позволяет экспортировать результаты в виде необработанного списка URL-адресов.
Он также использует сеансы, поэтому, если вы используете CMS, убедитесь, что вы вышли из системы, прежде чем запускать сканирование.
источник
Итак, в идеальном мире у вас была бы спецификация для всех страниц вашего сайта. У вас также будет тестовая инфраструктура, которая сможет проверять все ваши страницы.
По-видимому, вы не в идеальном мире. Почему бы не сделать это ...?
Создайте сопоставление между хорошо известными старыми URL-адресами и новыми. Перенаправить, когда вы видите старый URL. Я бы, возможно, подумал о том, чтобы представить "эта страница перемещена, ее новый URL-адрес XXX, вы будете перенаправлены в ближайшее время".
Если у вас нет сопоставления, представьте сообщение «извините - эта страница перемещена. Вот ссылка на домашнюю страницу» и перенаправьте их, если хотите.
Регистрируйте все перенаправления, особенно те, которые не отображаются. Со временем добавляйте сопоставления для важных страниц.
источник
wget из окна Linux также может быть хорошим вариантом, поскольку есть переключатели на паука и изменение его вывода.
РЕДАКТИРОВАТЬ: wget также доступен в Windows: http://gnuwin32.sourceforge.net/packages/wget.htm
источник
Напишите паука, который читает каждый HTML-код с диска и выводит каждый атрибут «href» элемента «a» (можно сделать с помощью парсера). Помните, какие ссылки принадлежат определенной странице (это обычная задача для структуры данных MultiMap). После этого вы можете создать файл сопоставления, который действует как вход для обработчика 404.
источник
Я бы изучил любое количество онлайн-инструментов для создания карты сайта. Лично я использовал этот (на основе java) в прошлом, но если вы выполните поиск в Google по запросу "построитель карты сайта", я уверен, что вы найдете множество различных вариантов.
источник