Question

J'ai une URL absolue dans ma feuille de style. http: //localhost/images/myimage.jpg .

J'ai aussi une classe de configuration avec la constante suivante

const SITE_ROOT = 'http://localhost/images'

Sur les pages php j'écris config :: SITE_ROOT. " /myimage.jpg" ainsi, lorsque je déplace le site sur le serveur de production, je peux modifier la racine du site à un emplacement central.

Existe-t-il un moyen de faire cela dans ma feuille de style sans la mettre dans la page? Les URL relatives ne sont pas une option, car j'utilise des réécritures de mod et les URL relatives ne fonctionnent pas.

Était-ce utile?

La solution

Vous pouvez écrire votre constante SITE_ROOT dans les fichiers CSS en les analysant avec PHP. Ajoutez ceci à .htaccess :

AddHandler application/x-httpd-php .css

Ensuite, intégrez PHP dans les fichiers CSS comme vous le feriez dans n'importe quel fichier .php .

Autres conseils

Il n’ya aucun moyen de faire cela avec CSS. Si vous voulez faire quelque chose comme ça, vous pouvez en faire un fichier PHP et utiliser les variables de cette façon.

Mais ne pouvez-vous pas simplement utiliser des URL absolues?

background-image: url(/images/myimage.jpg);

Travaillera sur n'importe quel serveur, n'est pas relatif et trouvera les fichiers à la racine.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top