apache et regex : interdire une chaine - Réseaux - Réseaux grand public / SoHo
Marsh Posté le 30-12-2013 à 00:19:06
Ah bon c'est bizarre ça. Pourtant ici http://www.askapache.com/htaccess/ [...] ccess.html le $ est bien utilisé...
Comment s'y prendre alors ?
edit : ok j'ai pigé le soucis : le $ ne marche pas sur DirectoryMatch mais sur FilesMatch. Du coup j'arrive bien à kicker un fichier.css (ou autre) par exemple avec FilesMatch.
Par contre, si quelqu'un pouvait m'expliquer pourquoi lorsque je bannis un .html, mon serveur apache me répond :
Citation : |
Mon prof m'avait dit que c'était parce que j'avais définit dans DirectoryIndex index.html mais j'ai beau commenter cette ligne, j'ai toujours l'erreur...
Merci en tout cas
Marsh Posté le 01-01-2014 à 17:08:57
"j'ai beau commenter cette ligne, j'ai toujours l'erreur"
Sûrement parce que le "DirectoryIndex index.html" est mis par défaut, peu importe que tu le mentionnes ou non dans le fichier de config', tu devrais le changer vers ton vrai "index" plutôt ("DirectoryIndex index.php" si ton index est en PHP).
Marsh Posté le 03-01-2014 à 01:56:13
Je pense que l'on s'est mal compris, si je mets ma directive suivante dans un fichier conf
<FilesMatch "(html)$">
Deny from all
</FilesMatch>
Et que je me connecte sur localhost dans le navigateur le serveur me répond :
You don't have permission to access / on this server.
Je n'ai pas d'index à la racine, que ce soit php html etc
Donc mettre index.php dans le DirectoryIndex ne règlera pas le soucis. J'ai bien essayé mais j'ai toujours le forbidden.
Je vois pas trop...
je suis sous debian 7 avec apache 2.2
Marsh Posté le 29-12-2013 à 22:07:03
Salut,
J'ai un tp sur apache sur lequel je me casse les dents...
Avec un DirectoryMatch je dois utiliser une regex afin d'interdire par exemple "html" en fin de chaine.
J'ai fait ça
<DirectoryMatch "(html)$">
Deny from all
</DirectoryMatch>
mais ça ne marche pas du tout
Pourtant ma regex est bonne... Si vous avez une idée...
Merci