2009-08-31 3 views
0

Я взял на себя старый сайт на основе HTML со всеми жестко закодированными ссылками, без фреймов и т. Д. Theres, который знает, сколько страниц имеет ссылку на abc.html (< - пример).ссылка на массовое изменение в html-сайте

Меня попросили просмотреть страницы и изменить ссылку abc.html на 123.html (< - другой пример).

Я могу загрузить весь сайт с помощью FTP, затем использовать поиск и замену, чтобы просмотреть все файлы, а затем загрузить изменения.

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

Другой вариант заключается в изменении HTML код abc.html и положить в чем-то вроде

Мы переехали, вы в настоящее время перенаправлены.

И используйте какую-то переадресацию.

У кого-нибудь есть другие идеи о том, как это сделать?

ответ

0

Я сделал список всех файлов, содержащий старую ссылку, используя

grep -lir "some text" * 

(выше, взятую из comandlinefu.com)

Затем я использовал следующую команду, чтобы заменить весь текст соответствия соответствующим образом.

find . -name '*.html' -exec sed -ir 's/old/new/g' {} \; 

(также взяты из commandlinefu.com)

Я использовал SED версию, как он создал резервные копии файлов HTML и назвал их * .htmlr

Не идеально, как я теперь больше мусора, но Я могу легко удалить их с

rm *.htmlr 
2

Почему бы не использовать такое программное обеспечение, как Actual Search and Replace?

+0

выглядит, как это будет работать, но, я должен был бы установить FTP-сервер в качестве локального каталога – shaiss

+0

или загрузить файлы локально, да. Это большая проблема? – marcgg

+0

Это потому, что на сервере есть тонны старого мусора, которые я не хочу просеивать. Фактический поиск и замена, похоже, работают. Я запускаю его под вином и использовал curlftpfs для монтирования ftp-сервера в качестве локальной FS. Скорость приличная, и почти все происходит через все файлы. Похоже, это сработает. Как только я это сделаю, я отмечу это как ответ – shaiss

2

Вам нужно будет вернуть HTTP 301 Moved Permanently по старым ссылкам, чтобы поисковые системы знали, что содержимое перемещено, а не просто исчезло.

+0

Спасибо за отзыв, я сделаю это. – shaiss

+1

Для SEO (поисковая оптимизация), вы должны это сделать. – Martin

Смежные вопросы