![]() |
как грамотно указать путь в ссылке
Приветствую!
У меня на сайте временами происходит глюк с отображением картинок и применением CSS. Сайт на PHP. Есть подозрение, что некорректно указываю пути в ссылках. Например структура сайта такова - корневая директория содержит каталоги 1,2,3,PIC (помимо index.php :) ). В последнем собственно картинки. В index.php инклюдом вставляются файлы из всех каталогов. Вставку картинок указываю так img src="PIC/qqq.gif". А может грамотнее писать www.primer.ru/PIC/qqq.gif ? Иногда вижу такие записи <link rel="Stylesheet" href="/_yandex-catalogue.css">. А как понять наличие такой косой черты ? |
Косая черта это знак корня (aka корневая директория). Корень это та директория от которой ведется весь отсчет, это та директория где находятся ваши index.php и директории 1, 2, 3, PIC. Дело в том, что пути есть абсолютные и относительные в зависимости от точки отсчета. К примеру www.site.com/PIC/qqq.gif это абсолютное задание адреса. Лично я не считаю это удобным - громоздко, да и с индексацией можно круто обломаться сменив в силу каких-то причин адрес. Гораздо проще делать адресацию относительно корня. В случае приведенного примеря Яндекса css-файл лежит на одном уровне (часто говорят "рядом") с index.php о чем говорит символ корня. Если символа коря нет, то считается что адрес задается относительно той директории где мы находимся.
К примеру есть структура: /imgs/jpg/*.jpg /imgs/gif/*.gif /imgs/gif/old/*.jpg /imgs/gif/old/show_old.php /index.php Если зайти по адресу www.site.com/index.php то он может выдавать нам адреса любого рода (хоть с корнем, хоть без) потому что он сам в корне. А вот если по адресу www.site.com/imgs/old/show_old_gif.php (пусть скрипт выводит список старых гифок) то генерируя адреса вида src="imgs/gif/*.gif" будем говорить броузеру ссылаться на src="www.site.com/imgs/old/imgs/gif/*.gif" потому что задаем адреса относительно. |
Цитата:
Цитата:
Приведу примеры: Цитата:
Если файл со ссылкой в корневом каталоге, то: img src="PIC/qqq.gif" или img src="/PIC/qqq.gif" Если картинка в том же каталоге, что и файл со ссылкой, то: img src="qqq.gif" Но ИМХО это всё верно в статике... у меня на одной странице (index.php) есть php вставки так вот там путь прописывается, как у вас: PHP код:
Цитата:
|
Который раз убеждаюсь, что тема путей не может не быть многословной :)
|
Vi-P, короче склихасоски, если передний слеш стоит - браузер прилепит слева только текущий хост (домен), если нет - хост + текущую директорию...
DMGaster Цитата:
|
Дешево и сердито... +1.
|
Цитата:
Vi-P Цитата:
|
Цитата:
|
Vi-P
Цитата:
Может скорей браузер глючит. Или например, вы изменили местонахождение картинки, а в кеше браузера осталась старая страница, поэтому он её и грузит со старым адресом картинки. Советую к браузеру установить спец расширения, которые помогают просматривать посылаемые запросы, так можно каждый запрос для каждой картинки просматреть и понять, почему браузер не то грузит (а вернее ничего не грузит). |
Время: 12:22. |
Время: 12:22.
© OSzone.net 2001-