Bonjour
j ai un .htaccess dans un dossier sur mon domaine afin de permettre uniquement à php d'aller chercher des fichiers dans ce dossier et de les livrer aux visiteurs.
voici mon .htaccess qui ne fonctionne pas et renvoie une erreur 500:
order deny,allow
deny from all
allow from http://www.adresse.de.mon.site.fr
Je ne vois pas ce qui cloche… ![]()
Quelqu'un saurait comment je peux faire?
Merci
Bonjour,
Si votre script php est situé sur le même domaine que le dossier protégé par htaccess il n'est pas nécessaire d'autoriser l'accès à php.
Un simple .htaccess avec les deux lignes suivantes suffit :
Order Allow,Deny
Deny from All
Order Allow,DenyDeny from All
arf ça ne marche pas
j ai :slight_smile:Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Bonjour,
vous êtes allez regarder les logs ?
Cordialement, janus57
Comment (avec quel éditeur de texte) avez-vous créé votre fichier htaccess ?<br /><br />J'en ai mis un à télécharger ici (au format unix) : http://dl.free.fr/rZNL0vKcm http://dl.free.fr/rZNL0vKcm
merci,
meme avec ton fichier erreur 403
mon fichier etait fait avec notepad++ puis bloc note
je ne comprends pas
HOW-TO tiré des archives de l'ancien forum :
<<
05/11/2011, 19h53
Rédaction des fichiers .htaccess
----------------------------------
Outre les soucis directement liés à la syntaxe et/ou à la logique, il faut prendre garde, lors de la rédaction des fichiers .htaccess (et accessoirement .htpasswd) au format du fichier produit. *Il en va de même pour le fichier de configuration .ovhconfig.
Ces fichiers doivent être strictement compatible avec les systèmes Unix/Linux faute de quoi ils risquent d'être mal interprétés, voire de ne pas être pris en compte du tout et même d'occasionner un erreur 500.
1 - Caractères légaux
L'erreur le plus courante consiste à employer un traitement de texte, par exemple Word, pour la rédaction. Ces logiciels sont à écarter car ils peuvent introduire des symboles illégaux invisibles dans le texte.
De même, faire une action de copier/coller de textes d'origines diverses présente aussi le risque de récupérer des caractères indésirables.
En effet, seuls les caractères ANSI/ASCII peuvent être employés, ce qui exclu notamment les accents, cédilles, et autres caractères spéciaux.
Si vous utilisez un système d'exploitation Microsoft, une bonne attitude est de taper le texte avec l'utilitaire notepad.exe en prenant garde toutefois à le bien sauvegarder avec l'option de codage ANSI, car l'option UTF-8 possède l’inconvénient d'introduire 3 symboles invisibles en début (cela s'appelle le BOM - Byte Order Mark de valeurs hexadécimales CFBBBF) incompatibles avec le serveur.
*Si vous utilisez un système d'exploitation Mac, le logiciel TextEdit est configuré par défaut pour produire un texte codé en RTF. Ce codage étant incompatible il convient de sélectionner dans les options le mode 'Texte'.
Le logiciel Notepad++ aussi est conseillé, mais comme il offre quantité d'options, il peut être d'un maniement délicat.
2 - Fins de ligne (ou retours chariot)
Les systèmes Unix et assimilés considèrent le symbole line feed [LF] comme unique marqueur de fin de ligne, alors que les systèmes Apple ont choisi le symbole carriage return [CR].
Microsoft, sans doute pour mettre tout le monde d'accord, a retenu pour sa part la combinaison [CRLF] soit les valeurs hexadécimales 0D0A.
Votre texte doit donc indiquer les fins de ligne par le symbole [LF] pour être compatible.
Les logiciels client FTP récents sont généralement programmé pour effectuer la conversion des fins de lignes de votre système d'exploitation vers les symboles Unix.
C'est le cas de Filezilla où vous pouvez vérifier par Edition-> Paramètres-> Transferts-> Types de fichiers si le coche de "Traiter les fichiers dont le nom commence par un point comme des fichiers ASCII" est bien mis.
Bien entendu les heureux utilisateurs des systèmes Linux ne sont pas concernés par ce second point !
3 - L'arme fatale
En définitive si vous voulez être parfaitement sûrs de votre fichier vous pouvez le contrôler avec un éditeur hexadécimal comme Winhex ou équivalent en vous basant sur les indications précédentes.
Un petit conseil pour finir : ne vous décourager pas si votre fichier ne semble pas passer, videz le cache de votre navigateur avant chaque nouvelle tentative.
----------------------------
*Mise à jour au 28/12/14
Bonjour,
erreur 403 != 500.
Ici le 403 correspond bien à un refus d'affichage.
Pouvez-vous consulter vos logs et voir pourquoi vous avez des erreur 500
Cordialement, janus57
On passe de l'erreur 500 à 403, on progresse.
L'erreur 403 est logique puisqu'elle indique un accès refusé (Forbidden). Et c'est bien le rôle du .htaccess que j'ai fourni, de refuser l'accès du dossier aux visiteurs.
En revanche votre script php peut quand même accéder à ce dossier.
Justement non le script n affiche pas la page contenu dans le dossier
Bonjour,
et si vous montrez le script et/ou les logs pour une meilleur analyse ?
Cordialement, janus57
+1 avec janus57
Oui je reviens vers vous dès que je rentre
Merci pour votre aide
dans mon fichier php j ai le lien vers le fichier a télécharger dans le dossier qui contient le htaccess :
`echo "http://www.monsite.fr/telechargement/fichier.zip fichier";`
Mais je crois que ça ne doit pas être bon de faire comme ça…
A mon avis le problème vient de la…
Bonjour,
c'est tout à fait ça, vous prenez le problème dans le mauvais sens.
Surtout que là dans votre exemple c'est pas PHP qui va le chercher mais bien le visiteur donc le .htaccess va forcément le bloquer.
Cordialement, janus57
Un indice?
Readfile?
echo "<a href="http://www.monsite.fr/telechargement/fichier.zipfichier</a></li>";
c'est tout à fait ça, vous prenez le problème dans le mauvais sens.Surtout que là dans votre exemple c'est pas PHP qui va le chercher mais bien le visiteur donc le .htaccess va forcément le bloquer.
Qu'est-ce qui est mauvais ?
Bonjour,
@Gaston_Phone : ce qui est mauvais c'est qu'un lien HTML n'est en rien un script PHP…
@Jean-pierreL : vous cherchez à faire quoi très exactement (sinon pas possible de donner une ou plusieurs piste(s) possible) ?
Cordialement, janus57
@Gaston_Phone : ce qui est mauvais c'est qu'un lien HTML n'est en rien un script PHP…
Désolé, mais je ne vois toujours pas où est l'erreur. :(
Désolé, mais je ne vois toujours pas où est l'erreur. :frowning:
Parce que le script PHP se contente d'afficher de l'HTML et n'exécute pas lui-même le téléchargement comme il pourrait le faire avec un readfile par exemple.