Bonjour à tous,

Voici mon problème :

Je viens de remarquer un fait intéressant. Supposons qu'à à la racine de mon site j'ai trois éléments :

- admin.php
- admin.html
- /admin

et que je tape dans mon navigateur http://site/admin
J'arrive au niveau du dossier admin. Jusque là ok.

Si je supprime ce dossier admin et que je rente la manip http://site/admin
La page html s'affiche.

Si enfin je supprime la page html et que je retente,
La page php s'affiche.

Tout d'abord cela est-il normal comme comportement ? Si oui comment empêcher les gens de pouvoir accéder à une page php juste en tapant son nom (via le htaccess j'imagine) ?

Merci
Modifié par slaapwagen (09 Sep 2010 - 18:21)
Ah oui et je tenais à préciser que cela ne fonctionne pas en local, mais uniquement sur mon serveur OVH.
Bonjour,

C'est la configuration de ton serveur qui fait cela.

Tu peux jouer avec cette config via l'utilisation d'un fichier .htaccess (mais si tu ne maitrise pas bien, attention aux erreurs). Pour éviter que les gens voient le contenu de ton dossier, tu peux, tout simplement, placer un fichier index.html (vide ou avec une redirection) dedans.

ps. : Il existe une fonction "éditer" sur le forum qui évite les doubles postes.
Oui désolé pour le double post.

Alors en réalité je ne souhaite pas cacher le contenu d'un dossier (Options -Indexes), mais bien empêcher le fait que l'on puisse taper http://site/index et arriver sur la page index.php, je préférerais une redirection vers http://site par exemple.

J'ai essayé en mettant RewriteRule ^index\/*$ http://site

Mais rien à faire cette règle ne passe pas. Comment modifier ce comportement ?
Salut,

slaapwagen a écrit :
Tout d'abord cela est-il normal comme comportement ?
Non ce n'est pas normal : c'est juste le paramétrage d'Apache sur OVH en mutualisé.

Pour rediriger toutes les urls invalides vers la racine de ton site tu pourrais essayer ça :
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*  http://www.monsite.com/index.php  [QSA,L]
Par contre je ne suis pas sûr que ça soit prioritaire sur le paramétrage d'OVH
Heyoan a écrit :
Salut,
Non ce n'est pas normal : c'est juste le paramétrage d'Apache sur OVH en mutualisé.


C'est bien ce qui me semblait. Merci pour l'info. Il n'y a aucun moyen de changer cette configuration j'imagine..

J'essaye ta technique ce soir, et je te tiens au courant.
Après un petit test ça ne fonctionne pas (car l'url n'est pas reconnue comme inexistante).

Après une petite recherche ce comportement est dû à l'option Multiviews liée à la négociation de contenu et qu'il faut donc désactiver dans le .htaccess :
Options -Multiviews

A noter que si tu veux protéger l'accès à ton fichier admin.php ce ne sera pas suffisant. Smiley cligne
Modifié par Heyoan (09 Sep 2010 - 13:46)