Bonjour,
J'ai un problème d'arborescence, qui est je pense, dû à une mauvaise compréhension du .htaccess. J'espère que vous pourrez éclairer ma lanterne.
Voici le .htaccess :
Mon arborescence est comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 RewriteEngine On RewriteCond %{REQUEST_URI} !index\.php RewriteCond %{REQUEST_URI} !.*\.(jpg|gif|png|ico|css|js|htc|swf|ttf|eot|svg|woff)$ [NC] RewriteRule ^(.*) index.php?p=$1 # # # # # configure mod_headers # # URL: http://httpd.apache.org/docs/2.2/mod/mod_headers.html # # # # <IfModule mod_headers.c> <FilesMatch "\\.(ico|jpe?g|png|gif|swf|css|js|ttf|woff|eot|svg])$"> Header set Cache-Control "max-age=2692000, public" </FilesMatch> <FilesMatch "\\.(x?html?|php)$"> Header set Cache-Control "max-age=600, private, must-revalidate" </FilesMatch> Header unset ETag Header unset Last-Modified </IfModule>
Le .htaccess et l'index.php se situent tous les deux à la racine d'ATR.|-- ATR
|...|-- controllers
|...|-- core
|...|-- models
|...|-- resources
|...|...|-- assets
|...|...|...|-- ionicons-1.5.2
|...|...|...|...|-- builder
|...|...|...|...|...|-- cheatsheet
|...|...|...|...| `-- scripts
|...|...|...|...|-- css
|...|...|...|...|-- fonts
|...|...|...|...|-- less
|...|...|...|...|-- png
|...|...|...|...| `-- 512
|...|...|...|...|-- scss
|...|...|...| `-- src
|...|...| `-- webfonts
|...|...| `-- OpenSans
|...|...|-- css
|...|...|-- img
|...|...| `-- tuto
|...| `-- js
|...`-- views
|.........|-- accueil
|.........|-- layout
|.........`-- test_wiki
voici aussi l'index.php :
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <?php define('WEBROOT', str_replace('index.php', '', $_SERVER['SCRIPT_NAME'])); define('ROOT', str_replace('index.php', '', $_SERVER['SCRIPT_FILENAME'])); // Chargement des classes génériques require(ROOT.'core/model.php'); require(ROOT.'core/controller.php'); // Récupération du nom des controller/action (fournis par le .htaccess) $params = explode('/', $_GET['p']); $controller_name = $params[0]; if (isset($params[1]) && $params[1] != '') { $action = $params[1]; } else { $action = 'index'; } // Chargement du controller et exécution de l'action if (file_exists('controllers/'.$controller_name.'.php')) { require('controllers/'.$controller_name.'.php'); $controller = new $controller_name(); if (method_exists($controller, $action)) { unset($params[0]); unset($params[1]); // permet d'exécuter une fonction (ici $controller->$action) // et y passer des arguments (ici $params 'nettoyé' des noms des controller et action call_user_func_array(array($controller, $action), $params); } else { echo 'Erreur 404 : Le couple controller/action n\'existe pas'; // on peut inclure ici un fichier '404.php' } } else { echo 'Erreur 403 : Le controller demandé n\'a pas été trouvé'; }
Merci d'avance
Partager