Тупой вопрос по относительным ссылкам

  1. 7 г. назад
    31.03.2017 13:20:54 отредактировано Сид Вишес

    Есть сайт mysite.com
    В нем есть страничка
    mysite.com/navigator

    На это страничке mysite.com/navigator ссылка на каритнку
    <img src="mysite.com/images/mypic.gif"> работает
    а ссылка вот так
    <img src="/../images/mypic.gif">ни хрена не работает
    при этом вот так
    <img src="/../mysite.com/images/mypic.gif"> - опять работает

    ЧЯДНТ?
    У меня естественное желание не делать название сайта или домента в html коде

    Ответы: (7)
  2. относительная это
    <img src="../images/mypic.gif">

    Ответы: (2)
  3. (1) то же не работает. Начинаю подозревать настройки сервера

  4. В .htaccess глянь настройки mod_rewrite, возможно, там проблема.

    Ответы: (13)
  5. 31.03.2017 16:08:00 отредактировано Сид Вишес

    Ничего не делал, доехал до дома, поел, зашел еще раз на mysite.com, а оно все заработало само через ./images/mypic.gif
    Подозреваю, что браузер на работе что то перекэшировал лишнего

    Ответы: (5)
  6. Сид Вишес оно все заработало само

    чудеса случаются

  7. ... у тех, кто в них верит.

  8. Что то опять отваливается иногда.
    Я по F12 сделал сбор сетевого обмена.
    Немного сделаю существенные поправки к (0) я там упростил не верно
    Страница с графическим контентом mysite.com/myapplication
    при отваливании, эта страница с линком <img src="/./images/mypic.gif"> запрашивает...(подожди, подожди...) mysite.com/images/mypic.gif а картинка то лежит на mysite.com/myapplication/images/mypic.gif в итоге возвращается 404

    А иногда у браузера какие то моменты просветления и он нормально запрашивает mysite.com/myapplication/images/mypic.gif
    Вот сегодня опять просветление

  9. Ладно, другой тупой вопрос. Раунд Робин на балансировщике совсем никак не совместим с сохранением сессии?
    Ну, например, балансировщик крутится раунд робином, но если пришла кука с сессией, он поворачивается к кому надо, а потом поворачивается назад и продолжает крутиться раунд робином?
    Или чушь говорю и при раунд робине никакой перзистенции быть не может в принципе?

  10. [...], достало. На ночь глядя я опять вызван на работу все по той же проблеме. У сайта слетела вся статика, css,js, картинки. Какие предложение по коренному исправлению проблемы?

    Вот так работало когда все было хорошо. Специально скриншоты тогда снял
    Снимок2.PNG
    Снимок1.PNG

    А вот так это выглядит теперь
    Снимок3.PNG
    Снимок4.PNG

    Т.е. вроде одно и то же но почему то иногда браузер просит у сервака одно, а иногда другое

  11. Пока вариант коренного решения проблемы - послать нахер все эти относительные ссылки и переделать механизм как у всех: читать имя сайта и делать относительные него ссылки остальные

    Ответы: (11)
  12. (10) KISS

  13. Наверное эта тема наиболее подходит для моего вопроса. С Dream-Factory API из 1с кто-нибудь уже работал?

  14. (3) откуда ты это узнал?

  15. Вообщем путем проб и ошибок выяснилась следующая безумная логика браузера IE.

    Браузер IE запрашивает страницу /mysite и начинает ее рендерить и исполнять. Подгружая по мере необходимости дополнительные статики: js,css,img. После загрузки js он еще и исполняет тут же код этих js. если статик сайта mysite указан как ./images/mypic.gif то браузер это рассматривает как mysite/images/mypic.gif
    И если ни в одном из скриптов не вылетело исключение, то все происходит отлично и гладко

    Но тут в одном из js или просто в скриптовой части самого html возникло исключение!
    В IE видимо встроена забавная функция обработки такой ситуации, браузер отменяет весь рендеринг и начинает рендерить заново. Только теперь на второй попытке он трактует все ./images/mypic.gif как images/mypic.gif без mysite. Полагая что второй вариант пройдет без ошибок.

  16. 04.05.2017 12:48:59 отредактировано Сид Вишес

    видимо функционал расчитан на то, что разработчик выложит в mysite/images/.. свои обычные статики, а в корее в /images/... будут лежать какие то альтернативные статики на случай исключения в первом варианте

или зарегистрируйтесь чтобы ответить!