Network error .htaccess et arborescence
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 :
Code:
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> |
Mon arborescence est comme ça :
Citation:
|-- 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
Le .htaccess et l'index.php se situent tous les deux à la racine d'ATR.
voici aussi l'index.php :
Code:
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