Bonjour à tous,
Je vous expose mon "problème" (s'il en est un vraiment) ...
Je souhaiterai en fait dans l'optique du développement d'un framework spécifique effectuer une réécriture d'url propre... c'est pourquoi j'ai opté pour un htaccess de ce type :
le problème à ce niveau était que tous les fichiers qui existent via l'url donnée (y compris les .php) se chargeait au lieu de passer par le redirection (ce qui est normal me direz vous à cause des conditions sur le REQUEST_FILENAME
)..
Mais ce système à l'avantage de permettre de charger des choses comme '/templates/mon_theme/css/style.css' (chose dont j'ai besoin) mais cela peut aussi exécuter un fichier php ce qui peut être dangereux parfois.
C'est pourquoi j'ai rajouté au dessus du IfModule (pour autoriser uniquement l'index de la racine) ces lignes :
Cela bloque bien tous les fichiers php et autorise juste index.php .... Mais malheuresement TOUS les index.php
(exemple : /test/index.php).
Auriez-vous une solution qui permettrai donc ceci en résumé :
- http://monsite.com/index.php [autorisé]
- http://monsite.com/test/index.php [bloqué]
Cela fait + d'1h que je m'arrache les cheveux et si ça ce trouve la solution est sous mes yeux ... so please
me
.
Merci d'avance
Modifié par sh@dow (09 Oct 2011 - 21:28)
Je vous expose mon "problème" (s'il en est un vraiment) ...
Je souhaiterai en fait dans l'optique du développement d'un framework spécifique effectuer une réécriture d'url propre... c'est pourquoi j'ai opté pour un htaccess de ce type :
<IfModule mod_rewrite.c>
Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
le problème à ce niveau était que tous les fichiers qui existent via l'url donnée (y compris les .php) se chargeait au lieu de passer par le redirection (ce qui est normal me direz vous à cause des conditions sur le REQUEST_FILENAME

Mais ce système à l'avantage de permettre de charger des choses comme '/templates/mon_theme/css/style.css' (chose dont j'ai besoin) mais cela peut aussi exécuter un fichier php ce qui peut être dangereux parfois.
C'est pourquoi j'ai rajouté au dessus du IfModule (pour autoriser uniquement l'index de la racine) ces lignes :
<FilesMatch "^.*(?<!index)\.php$">
Order Allow,Deny
Deny from all
</FilesMatch>
Cela bloque bien tous les fichiers php et autorise juste index.php .... Mais malheuresement TOUS les index.php

Auriez-vous une solution qui permettrai donc ceci en résumé :
- http://monsite.com/index.php [autorisé]
- http://monsite.com/test/index.php [bloqué]
Cela fait + d'1h que je m'arrache les cheveux et si ça ce trouve la solution est sous mes yeux ... so please


Merci d'avance
Modifié par sh@dow (09 Oct 2011 - 21:28)