Я храню таблицы стилей в {root} / styles, а изображения в {root} / images для веб-сайта. Как указать путь в таблицах стилей для поиска указанных изображений в каталоге изображений?
например, в background-image: url('/images/bg.png');
html
css
relative-path
атеке
источник
источник
Вот все, что вам нужно знать об относительных путях к файлам:
Начиная с,
/
возвращается в корневой каталог и начинается тамНачиная с
../
перемещает на один каталог назад и начинается тамНачиная с
../../
перемещает два каталога назад и начинается там (и так далее ...)Чтобы двигаться вперед , просто начните с первого подкаталога и продолжайте двигаться вперед.
Щелкните здесь, чтобы узнать больше!
источник
Использование
../
:Вы можете использовать это так часто, как хотите, например,
../../images/
или даже в разных позициях, например../images/../images/../images/
(как,../images/
конечно)источник
В Chrome, когда вы загружаете веб-сайт с некоторого HTTP-сервера, работают как абсолютные пути (например
/images/sth.png
), так и относительные пути к некоторому каталогу верхнего уровня (например../images/sth.png
).Но!
Когда вы загружаете (в Chrome!) HTML-документ из локальной файловой системы, вы не можете получить доступ к каталогам над текущим каталогом. Т.е. вы не можете получить доступ
../something/something.sth
и изменить относительный путь на абсолютный, иначе ничего не поможет.источник
../
действительно работают нормально - или, по крайней мере, работают нормально в этом конкретном случае!Предположим, у вас есть следующая файловая структура:
В CSS вы можете получить доступ
image1
, например, с помощью строки../images/image1.png
.ПРИМЕЧАНИЕ . Если вы используете Chrome, он может не работать, и вы получите сообщение об ошибке, что файл не может быть найден. У меня была такая же проблема, поэтому я просто удалил всю историю кеша из Chrome, и это сработало.
источник
Если вы храните таблицы стилей / изображения в папке, чтобы их могли использовать несколько веб-сайтов, или вы хотите повторно использовать одни и те же файлы на другом сайте на том же сервере, я обнаружил, что мой браузер / Apache не позволяет мне перейти на любая родительская папка над корневым URL-адресом веб-сайта. Это кажется очевидным из соображений безопасности - нельзя просматривать на сервере любое место, кроме указанных веб-папок.
Например. не работает: www.mywebsite.com/../images
В качестве обходного пути я использую символические ссылки:
Перейдите в каталог www.mywebsite.com Выполните команду ln -s ../images images.
Теперь www.mywebsite.com/images будет указывать на www.mywebsite.com/../images
источник