|
|
|
| всем привет
мне прямь стыдно, но недавно столкнулся с такой проблемой
вроде не первый день пишу html.
короче проблема:
я настроил на домашнем ПК сервер чтобы все выглядело как на хостинге
в общем сейчас при обращении к "www.test.com"
выдается содержимое папки d:/server/test
все класно в папке "test" создал еще одну папку скажем "1" а в ней лежит index.html
т.е. к index.html обращаюсь через "http://www.test.com/1/index.html" все работает.
потом я положил в папку "test" графику. и кое что заметил:
раньше я обращался к графике из index.html вот так "<img src="../pic.jpg" />
т.е. поднимался на уровень выше и брал графику, а теперь заметил что
графика доступна и через "<img src=/pic.jpg" /> результат один.
как я понял что второй вариант со слешем впереди указывает
на путь от "www.test.com" те абсолютный путь от сервера
но я думал что этот вариан работает только если указать <base href="..."
что то я совсем запутался. ЧТО ЗНАЧИТ этот слеш впереди?
даже указав "<img src="../../../../pic.jpg" />" ГРАФИКА показывается ПОЧЕМУ???
спасибо | |
|
|
|
|
|
|
|
для: Sergi
(10.05.2009 в 01:21)
| | просто / - это КОРЕНЬ сайта.
Так было всегда, ещё начиная с MS DOS, когда на чёрном фоне после загрузки рисовалось C:/, т.е. не просто C:, а "корень диска С:"
../ показывает, как вы правильно заметили, папку выше уровнем.
../../ - двумя уровнями выше.
../../../ - тремя выше...
Ну а если вы ошиблись в подсчётах и переборщили, а уровня выше нет?
Тогда система оставляет вас на самом верхнем из возможных уровней.
В принципе - это единственно правильный подход.
Браузер ДОЛЖЕН сформировать ссылку, какую бы вы фигню в атрибутах HREF и SRC не написали.
Вот он и пытается сделать хоть что-то похожее на правильный путь.
Инструкцией ../../../../../../../ вы вышли за пределы корня своего домена.
А выходить из него относительным путём вы не можете. Вот вас и ограничивают.
Аналогично, например, когда вы пишете для файла, который должен находиться в ифрейме/фрейме в ссылке
<a href="myURL" target="_parent"> или <a href="myURL" target="_top">,
то тем самым указываете браузеру загрузить myURL в родительское окно (или в самое верхнее).
А куда загрузится myURL, если вы исходный файл откроете в отдельном окне, а не во фрейме?
Правильно, в то же текущее окно и загрузится, ибо оно (это окно) и будет само себе родителем (и само себе самым верхним).
PS. В своё время я также, как и вы стоял вроде "барана перед новыми воротами", когда впервые столкнулся с путём ./ (где не две точки, а одна). Методом тыка понял, что это равносильно пустому месту - сиречь та же папка. Т.е. href="pic.gif" равносильно href="./pic.gif".
Залез в гугль и тут же нашёл, что это нормально для линукса и потому это используется. | |
|
|
|