Aller au contenu

Sujets conseillés

Posté

Bonjour,

Je souhaite sécuriser un site via différents htaccess configuré selon les besoins dans le répertoire racine et ses sous-répertoires.

Tout se déroule mais je bloque sur un point.

Je souhaite que dans le répertoire racine, le visiteur ne puisse appeler que la page d'index.

Pour ce, j'ai placé dans le htaccess racine:

Order deny,allow

Deny from all

<Files "index.php">

Order deny,allow

Allow from all

</Files>

donc, un appel http://monsite/rep/index.php fonctionne très bien et un appel http://monsite/rep/autreFichier.php est refusé ce qui est l'effet recherché.

Par contre, ce qui ne va plus avec ce htaccess, la redirection automatique sur le fichier index de la racine, autrement dit:

l'appel http://monsite/rep ne pointe plus sur le fichier index.php

J'ai essayé ce qui suit:

RewriteEngine on

redirect / /index.php => retourne une erreur 500

DirectoryIndex index.php => sans effet

J'ai également essayé un redirectPermanent sans succès.

Quelqu'un aurait-il une information lumineuse ?

Merci pour votre collaboration.

Posté

Sur la requête sur le nom de répertoire seul, le serveur va normalement chercher en premier index.html puis index.htm puis index.php (cela peut dépendre de la configuration serveur toutefois, mais en général c'est ça).

Comme ton index.html est interdit, cela ne marche pas. C'est normal...

Donc j'autoriserais index.html et index.htm au même titre que index.php.

Cela devrait régler le problème.

Posté

Merci Remi pour ta réponse.

En réalité, si je supprime htaccess à la racine, le serveur trouve sans problème index.php après appel du seul répertoire => probablement configuré dans httpd.conf.

Le fait d'ajouter le htaccess (du moins comme je l'ai configuré) supprime ce pointage automatique malgré mes essais de surcharge (directoryIndex, ...)

Posté

Bon, j'ai voulu expliquer le principe mais je n'ai pas été assez direct. :P

Voici la version courte :

Remplace

<Files "index.php">

par

<FilesMatch "index\.(php|htm|html)$">

:cool:

Posté

Ben oui mais j'aime bien comprendre le principe de fonctionnement des choses, donc j'explique.

mais bon...

Tiens j'ai fait un petit oubli (pas bien grave) :

C'est

<FilesMatch "^index\.(php|htm|html)$">

(il y a un circonflexe au début de 'index'.

Tel que je l'avais écrit, un éventuel fichier totoindex.php ou titiindex.php serait autorisé aussi

On ne sait jamais...)

:blush:

  • 2 semaines plus tard...
Posté

Remi,

A ne plus rien y comprendre...il me semblait que cela fonctionnait mais, en réalité, non...

Voici mon dernier htaccess

Order deny,allow

Deny from all

<FilesMatch "^index\.(html|htm|php)$">

Order deny,allow

Allow from all

</FilesMatch>

Si j'autorise à nouveau tous les fichiers, l'appel seul du répertoire redirige bien sur index.php

Une idée ? Merci à toi

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...