У меня есть структура, которая маршрутизирует все входящие URI через базовый файл и обрабатывает статические файлы. У меня есть подкаталог /static, в который я помещаю все CSS, JS и изображения (т.е./static/css/main.css), чтобы все было ясно.
Мой собственный код и плагины справляются с этим прекрасно, но иногда нужно реализовать другой код, и часто файлы CSS будут пытаться сочетать с вызовами URI в этих файлах. Как я могу справиться с этим наилучшим образом?
Пример:
/о/компании маршрутов /script? Д = о/компании и блокирует основную структуру сайта. Однако; /static/css/main.css использует фоновое изображение; /static/images/widget/bg -color.png
Поскольку это структура, я не рад жестко закодировать/статические пути в файлах CSS. Во-первых, я не хочу ограничивать веб-сайты только обслуживанием из некоторого корневого каталога.:) Для всех JS есть объекты, которые имеют дело с этим (т.е. Var x = $xs_dir.js + '/ script.js';), но ничего не существует для CSS. Думаю, у меня есть пять вариантов;
-
(худший). У меня есть опция в моем админ-инструменте, который сканирует все файлы CSS для ссылок URI и добавляет их в правильный статический каталог и записывает все CSS, как если бы они были статическими в корневой каталог.
-
(плохой). Положитесь на способность веб-сервера псевдонимы любого статического каталога в один корневой статический каталог и пусть администраторы справятся с ним.
-
(meh, slow) Подавайте файлы CSS через фреймворк, фильтруя URI с правильными статическими путями.
-
(простейший, но не очень простой) Ручной код статических частей моих CSS файлов для любой настройки сервера там может быть, и просто убедитесь, что их легко найти и изменить.
-
(возможно, лучший, но сложный?) У вас есть правило перезаписи, которое обнаруживает изображения в текущем каталоге, пересылает их в статический каталог и записывает все CSS с некоторым признанным динамическим путем. (т.е. вместо /static/images/img.png делать images/img.png и полагаться на правила перезаписи, чтобы подталкивать его туда, куда ему нужно идти, а также ограничивать структуру веб-сайта, чтобы никогда не иметь подкаталог под названием "изображения" )
Любые дополнительные опции? Идеи? Я знаю, что Joomla и аналогичные имеют некоторые перезаписи файлов, и, вероятно, нет. 5?