Вы можете загрузить всю вещь с помощью wget.
wget -r --level=0 --convert-links --page-requisites --no-parent http://url.com
-r означает, что она рекурсивна
- level = 0 означает, что она опускается на бесконечное количество уровней (так http://url.com/pictures/babes/pics.html будет сохранен не только на странице верхнего уровня)
- convert-links означает, что он преобразует ссылки из link в link
- page-requisites означает, что он загружает все, что требуется для правильной отображения страницы. Как изображения, javascripts и т. Д.
- no-parent означает, что он не загружает страницы, которые «выше». Поэтому, если вы хотите http://url.com/pictures/babes/pics.html и «ниже», http://url.com/index.html не будет загружен.
похоже, что вы сказали Apache, чтобы требовать пароль для вашего веб-корня, но разве вы не использовали Apache, чтобы не требовать его для всех других каталогов?
Внутри вашего .htaccess (или в httpd.conf, они выполняют ту же работу), у вас, вероятно, есть что-то вроде того, что ниже (добавьте ссылку pastebin в ваш файл .htaccess, и я могу это сделать):
<Directory "/www/private">
Order allow,deny
Allow from all
Options Indexes
AuthType Basic
AuthName "Private Access"
AuthUserFile "/www/private/.htpasswd"
Require valid-user
</Directory>
Но это применимо ко всем каталогам в этот путь. Вы должны явно указать Apache иначе.
<Directory "/var/private/subdir">
Satisfy any
</Directory>
Вы можете использовать регулярные выражения с <DirectoryMatch "regex">, чтобы обобщить это, просто не забывайте защищать от выражений asdf.com/subdir/../.
UPDATE: Также стоит упомянуть, что хотя большая часть документации уже имеет директивы <Directory[Match]>, существуют также <Location[Match]> директивы, которые полезны в случае символических ссылок в базовой файловой системе.