apache et regex : interdire une chaine

apache et regex : interdire une chaine - Réseaux - Réseaux grand public / SoHo

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

Reply

Marsh Posté le 29-12-2013 à 22:07:03   

Reply

Marsh Posté le 29-12-2013 à 22:23:45    

en tout cas d'après la doc, le caractère de fin de ligne "$" n'est pas pris en compte.


---------------
Que va-t-il se passer cette gelgamar ? vous le découvrirez janamont à 20h
Reply

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 :


Forbidden
 
You don't have permission to access / on this server.


 
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  :hello:


Message édité par Torlik le 30-12-2013 à 00:31:21
Reply

Marsh Posté le 31-12-2013 à 18:02:02    

bonne année:)

Reply

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).

Reply

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


Message édité par Torlik le 03-01-2014 à 01:58:52
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed