Bonjour à tous, je post ici car un problème ce présente à moi lorsque je code mon site.
Je travaille en local, jusque la tout va bien, j'ai un site en php, ce dernier utilise l'url rewriting.
Le problème est que mon lien pour aller voir une news est : localhost/monsite/news/id
Or j'ai un fichier header.php se trouvant dans un dossier includes avec le footer ...
Du coup, ce fichier header.php qui inclut le css, le javascript ... ne trouve plus les fichier et les cherchent sur localhost/monsite/news/css/styles.css

J'aimerait savoir si vous avez une solution pour récupérer automatiquement la racine du site qui inclurait les fichiers css du style :

<?php define('ROOT', le code); ?>
<link href="<?php echo ROOT; ?>/css/styles.css>

pour ne pas avoir besoin de changer tout mes liens au passage sur le ftp.

4 réponses


vash60700
Réponse acceptée

Oui :)

Tu peux utiliser la balise BASE en HTML Descriptif ici

Tu définies le chemin relatif de ton site et tu te supprimes le echo dans le <link>

En gros, tu fais :

<head> 
    <base href="http://URLDEMONSITE/" target="_blank">  
</head>

et dans ton link CSS, tu mettras :

<link href="css/styles.css">
vash60700
Réponse acceptée

Je rajouterai une chose concernant cette phrase :

pour ne pas avoir besoin de changer tout mes liens au passage sur le ftp.

en plus d'utiliser la balise <BASE>, tu pourrais stocker sa valeur dans un fichier de config en PHP comme CONSTANTE genre :

<?php define('ROOT', le code); ?>

et

<head> 
    <base href="<?php echo ROOT;?>" target="_blank">  
</head>

Comme ça, tu n'as qu'un seul endroit à modifier pour que ce soit pris en compte....

Tout a fait d'accor ;)

Merci de vos réponses, mon problème est résolu. :)