Salut !
Je suis en train de créer un site web avec php, html, css.
J'utilise un router AltoRouter.
Mon index.php sert uniquement au router pour afficher les fichiers qui sont hors du dossier public "public".
Je n'arrive pas à importer des fichiers css. Par exemple, dans mon dossier elements, j'ai le header.php et header.css. Dans mon header.php je demande à ce qui link le fichier css. J'affiche le header.php dans le index.php mais il n'y a pas de css. Je regarde dans la console de développement Chrome et là, je remarque que Google ne retourne pas en arrière dans la hiérarchie pour cherche mon header.css.
Comment résoudre ça ?
Voici ma hiérarchie :
/www/
|-- /public
| |-- index.php
| |-- .htaccess
|
|-- /elements
| |-- header.php
| |-- header.css
|
|-- /ressources
| |-- /css
| |-- /images
|
|-- /templates
| |-- 404.php
| |-- home.php
| |-- login.php
Si vous avez besoin de plus de détails, demandez-moi
Moi j'utilise aussi Altorooter mais j'ai juste fais ça
public function webroot()
{
$path = dirname(dirname(__FILE__));
$directory = basename($path);
$url = explode($directory, $_SERVER['REQUEST_URI']);
if(count($url) == 1){
$absolute = DIRECTORY_SEPARATOR;
}else{
$absolute = $url[0] . $directory . DIRECTORY_SEPARATOR;
}
return $absolute;
}
ensuite tu devrais pourvoi faire ça
<link href="<?= $router->webroot() ?>/css/style.css" rel="stylesheet" type="text/css">