Мне нужно создать полную копию сайта / зеркало https://www.landesmuseum -mecklenburg.de .Эта копия должна запускаться локально в системе Windows 7, которая не имеет сетевого подключения.Windows 7 имеет ограничение длины пути (255), которое достигается в моем случае.Как мне обойти это?
Я создаю статическую копию веб-сайта в системе Debian с: wget --mirror --adjust-extension --convert-links --restrict-file-names=windows --page-requisites -e robots=off --no-clobber --no-parent --base=./ https://www.landesmuseum-mecklenburg.de/
.
Таким образом, я получил почти все, что мне нужно.Некоторые специальные URL / изображения загружаются через отдельный список URL-адресов следующим образом: wget -c -x -i imagelist.txt
После того, как я создаю архив из этих файлов и передаю их в мою тестовую систему Windows 7 и извлекаю их на локальный веб-сервер (называется "MiniWebserver") Я могу посетить http://localhost/ и все, кажется, работает.
Но некоторые глубокие ссылки, особенно изображения, имеют длину пути в файловой системе Windows NTFS более 255 символов.Все эти изображения не отображаются на локальной веб-странице.
Я попробовал вариант wget -nH --cut-dirs=5
, но без приемлемого результата (index.html каждый раз перезаписывается).
ДругойИдея заключалась в том, чтобы использовать функцию совместимости с сокращением пути DOS, чтобы длинные имена каталогов были преобразованы в 8-символьные имена.Например, longdirname
переведено на longdi~1
.Но я понятия не имею, как это автоматизировать.
Обновление: еще одна идея
Еще одна вещь, которая пришла мне в голову, это использовать хеши по всему пути(например, md5) и используйте его вместо полного пути + имени файла.Кроме того, все URL-адреса в загруженных файлах .html также должны быть заменены.Но опять же: я понятия не имею, как это сделать с помощью инструментов командной строки Debian.