При переносе веб-сайта другой сервер использует wget

У меня есть веб-сайт, расположенный, скажем, по адресу http://www.abc.com . Мне нужно сделать его доступным, скажем, по адресу http://www.cde.com . Я попытался загрузить сайт с помощью wget, но столкнулся с двумя проблемами:

  • Есть много внутренних абсолютных ссылок. Wget может преобразовать их в относительные ссылки, но я бы чувствовал себя в большей безопасности, если бы я преобразовал их во встроенные корневые ссылки (например, / mypath / myfile , а не ../../ mypath / myfile ) или к абсолютным ссылкам в новом месте ( http://www.cde.com/mypath/myfile )
  • Сайт интенсивно использует скрипты для навигации, поэтому некоторые пути выглядят как http://www.abc.com/index.html?p=123 и т. Д. Wget загружает и сохраняет их в таких файлах, как index.html? P = 123, index.html? P. = 456 и т. Д.Он подходит для просмотра в автономном режиме, но я ожидаю, что на новом сайте скрипты будут работать, поэтому мне понадобится только файл index.html (плюс реквизиты, csses, скрипты, но я думаю, что я уже знаю, как их скачать)

Я знаю, что могу просто удалить лишние файлы с помощью "?" в именах файлов, но я предпочел бы в первую очередь избегать ненужных загрузок

Как я могу решить эти две проблемы?

-1
25.04.2016, 05:57
2 ответа

Использование wget для переноса веб-сайта - плохая идея, если исходный веб-сайт не состоит только из статических страниц со статическим содержимым, но это не ваш случай.

В большинстве случаев содержимое страниц создается на стороне сервера механизмами рендеринга шаблонов (которые могут быть компонентом более сложной структуры) с использованием предопределенных шаблонов и данных, находящихся в некотором постоянном хранилище, таком как база данных или драйвер жесткого диска o с использованием данные, отправленные пользователем.

Например, ссылки формы http://www.abc.com/index.html?p=123 , http://www.abc.com/index.html? p = 456 может указывать на то, что содержимое относительных страниц было сгенерировано на стороне сервера из того же шаблона (пример: index_template.php ) и с использованием данных из базы данных, где продукт имеет в одном случае идентификатор 123 и в другом случае - идентификатор 456.

Итак, чтобы перенести ваш сайт на другую позицию, вы должны иметь доступ к исходному коду вашего сайта и всем постоянным данным. Только тогда вы сможете создать полнофункциональный клон оригинального сайта.

1
28.01.2020, 05:08

Я думаю, вы не можете делать то, что пытаетесь сделать с помощью wget.

Проблема в том, что wget видит страницу так, как ее видит браузер. Это означает, что wget просто получает HTML-код, хотя реальный исходный файл может быть файлом PHP, или даже файлом Ruby, или чем-то еще.

Если вы являетесь владельцем веб-сайта, вы должны иметь доступ к корневой папке веб-сайтов с помощью sftp, ftp или scp, а затем можете скопировать всю страницу на новый сервер.

Теперь вы можете использовать редактор с хорошим инструментом рефакторинга, чтобы изменить все старые ссылки, чтобы они соответствовали новому доменному имени.

2
28.01.2020, 05:08

Теги

Похожие вопросы