Итак, у меня есть сайт с 2 заголовками хоста:
header1.example.com
header2.example.com
На этом сайте у меня есть виртуальный каталог Foo, в котором есть подкаталоги 1, 2, 3 и 4 с различными таблицами стилей. Страница ссылается на эти таблицы стилей динамически через /Foo/1/Style.css
и /Foo/2/Style.css
.
т.е.
http://header1.example.com/SomePageThatUsesFoo1Style.aspx
http://header1.example.com/SomePageThatUsesFoo2Style.aspx
Когда я иду в http://header1.example.com/SomePageThatUsesFoo2Style.aspx
Я получаю 404, пытаясь получить /Foo/2/Style.css
.
Файл абсолютно на 100% существует в правильном каталоге, и разрешения верны.
Интересная часть. Если я пойду в http://header1.example.com/SomePageThatUsesFoo1Style.aspx
он работает нормально. Кроме того, если я пойду в http://header2.SomePageThatUsesFoo2Style.aspx
или http://header2.example.com/SomePageThatUsesFoo1Style.aspx
он работает нормально.
Кто-нибудь видел такую странную проблему, когда 1 конкретный заголовок хоста все портит?
Я также добавлю, что просто для смеха я создал совершенно НОВЫЙ веб-сайт с нуля с НОВЫМ заголовком хоста (header3.example.com
) и все заработало. Я остановил старый сайт и добавил header1
и header2
на новый сайт, и возникает та же ошибка.
Примечание. Я пробовал использовать Microsoft Network Monitor 3.4 для захвата пакетов. Я попал на несколько страниц своего сайта, где встречается описанное выше. Применен фильтр к захвату для любого кода статуса HTTP> = 400 а результатов нет. Когда я использую Fiddler с моего рабочего стола, попадая на мой сайт, Fiddler также показывает 404.
Есть предположения?
Мне больше всего повезло отследить 404 ошибки, запустив захват пакетов на сервере для просмотра фактических запросов и ответов.
В захвате вы должны увидеть фактический запрос, который сгенерировал 404, и ответ. Обычно я набираю запрос, чтобы узнать, что именно запрашивается. Вы должны увидеть фактический запрашиваемый URL-адрес при обнаружении ошибки 404 и затем проверить, является ли URL-адрес действительным или нет.