Для документа, обслуживаемого с HTTP-заголовком Refre sh, почему валидатор w3 получает пустой исходный код? - PullRequest
0 голосов
/ 10 марта 2020

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

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

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

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

На сайте используется Codeigniter php framework. Может ли это быть проблемой? Есть идеи как решить проблему?

Ответы [ 2 ]

1 голос
/ 10 марта 2020

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

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

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

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

0 голосов
/ 10 марта 2020

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

http://en.teenagewasterecs.com/

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

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

...