Ответ 1
Есть ли у вас защита hotlink? Если вы попытаетесь отключить его. И посмотрите, помогает ли это.
Я только что добавил SSL на свой сайт. Когда я перехожу к https://mydomain.com, я вижу текст, но нет CSS или изображений. Он находится на выделенном сервере, и у меня есть полный контроль над кодом.
В настоящее время все пути являются относительными. Я могу просматривать изображения и css, когда я перехожу к этим файлам напрямую, используя HTTP или HTTPS. Но когда я загружаю страницу, они не загружаются...
Когда я использую Firebug и смотрю в NET, я вижу для каждого изображения 302 Найдено. Что это значит?
Какие изменения мне нужно сделать, чтобы убедиться, что http и https отображают сайт одинаково?
Я делаю все пути абсолютными? Есть ли способ сделать одно изменение повлиять на всех или я действительно должен пойти и изменить каждый из них?
Спасибо.
Есть ли у вас защита hotlink? Если вы попытаетесь отключить его. И посмотрите, помогает ли это.
Вам не нужно делать все абсолютно, но вам нужно убедиться, что ваши CSS и изображения доступны через SSL. Попробуйте получить доступ к ним напрямую или используйте Firebug или аналогичный инструмент браузера, чтобы выяснить, откуда он пытается их загрузить. Подумайте об использовании "URL-адресов, относящихся к протоколу", чтобы к ним всегда обращались CSS, изображения и т.д., Используя тот же протокол (http или https) в качестве самой страницы. http://paulirish.com/2010/the-protocol-relative-url/
Если вы укажете свой CSS с абсолютной ссылкой (например, http://www.yourcompany.net/yourcompany.css
), он не покажет CSS в https. Если вы сделаете абсолютный https://www.yourcompany.net/yourcompany.css
, он будет работать в обоих вызовах.
У меня была такая же проблема. Если страница открыта в https, то css/js также следует загрузить в https. Под этим я подразумеваю, что для загрузки css/js он должен использовать тот же протокол, что и для открытия страницы html/jsp/jsf etc. Таким образом, решение состоит в том, чтобы не использовать абсолютный url для css/js. Вместо этого используйте относительный URL-адрес:
<link type="text/css" rel="stylesheet" href="../css/style.css" />
ИЛИ используйте это:
<% String contextPath=request.getScheme()+"://"+request.getServerName()"+":"+request.getServerPort()+request.getContextPath();
<link type="text/css" rel="stylesheet"
href="<%=contextPath>/css/style.css" />
Это должно решить проблему загрузки изображения.