Почему для документа с HTTP-заголовком Refresh валидатор w3 получает пустой исходный код?

Я пытаюсь проверить веб-сайт через валидатор w3, но всегда вылетает с этой ошибкой:

Конец файла просматривается без предварительного просмотра типа документа. Ожидается <!DOCTYPE html>.

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

Однако, если я добавлю параметр Accept-Language (проверьте этот запрос), он будет правильно проверен. Проблема не только в валидаторе w3, например, парсер facebook, отвечающий за отображение превью сайта, тоже не видит исходный код.

Сайт использует php-фреймворк Codeigniter. Может ли это быть проблемой? Любые идеи, как решить проблему?


person Alex Sh.    schedule 10.03.2020    source источник


Ответы (2)


http://teenagewasterecs.com — нулевой байт без содержимого.

Так что валидатору нечего проверять — нет документа; вместо этого ответ содержит только заголовки HTTP, один из которых является заголовком Refresh: 0;url=http://en.teenagewasterecs.com/.

Таким образом, браузеры видят этот заголовок Refresh, следуют за ним и загружают http://en.teenagewasterecs.com/.

Но валидатор не следует этому Refresh и не загружает другой URL. Вместо этого валидатор пытается загрузить и проверить http://teenagewasterecs.com. Но он пуст; таким образом, ошибка валидатора, которую вы видите.

person sideshowbarker    schedule 10.03.2020

Вы получаете эту ошибку, потому что ссылка на веб-сайт, который вы проверяете

http://en.teenagewasterecs.com/

показывает страницу 404, не найденную по этой ссылке. Попробуйте с другими ссылками на сайте.

Надеюсь это поможет.

person Pradeep Rajvanshi    schedule 10.03.2020
comment
О, кажется, он перенаправляет вас на поддомен en. Нужно проверить, может в этом причина проблемы. - person Alex Sh.; 10.03.2020