Я зеркально отражал сервер, я продолжаю работать прежде, чем пересмотреть код. Чтобы сделать это, я использовал команду
wget -m <address>
Похож на все, там. но что это? файл robots.txt? Я проверил дважды, robots.txt не существует на сервере. Таким образом я посмотрел на содержание файла robots.txt, и это содержит 404 страницы с сервера.
Как в на сервере:
/var/www$ ls robots.txt
ls: cannot access robots.txt: No such file or directory
но в wget зеркально отразил папку, существует файл robots.txt, который создается.
Хорошо, Таким образом, я думал, что wget-m был средством зеркального отражения. Почему это вставляет вещи, которые не являются там?
Проблема не в том, что wget вставляет файл robots.txt туда, где он не принадлежит, а в том, что с сервера, с которого вы зеркалируете контент. Сервер явно неправильно сконфигурирован для обработки запросов типа 200, и, таким образом, когда wget ищет страницу wget, он повторяет запрос 404.
Я недавно искал исходный код wget. Я думаю, к чему привело то, что wget всегда ищет файл robots.txt. Но, в большинстве случаев, если он оставлен пустым, wget удаляет его. В вашем случае это файл 404, который он получает, когда wget пытается получить к нему доступ.
К сожалению, я не знаю, как исправить ошибку HTTP-запроса типа 200, для этого нам потребуется дополнительная информация о сервере.
Можно использовать опцию -e robots=off
проигнорировать файл robots.txt. Если веб-сервер не является Вашим, однако, игнорирование файла robots.txt считают грубым.