Version complète: sur le forum Webmaster Hub : chemin .htaccess
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
PhantomJoey
Bonjour à tous,

Je fais des essais de mon morceau de site et j'ai un problème huh.gif avec le chemin dans le fichier .htaccess.
Normalement on doit mettre le chemin en dur du .htpasswd mais comment fais-t on une fois sur le server ? r_question6161.gif
Car j'en ai essayé pas mal : avec localhost pour remplacer ce qui précède le répertoire de mon site ( tout ce qui se trouve avant le répertoire de mon site je n'y ait pas access ce qui est normal je pense), j'ai essayer avec l'adresse du server et evec une adresse relative.
Je ne sais plus quoi essayer evil.gif

Merci d'avance
Anonymus
Bonjour,

Imagines que ton fichier htaccess soit dans le répertoire :
/principal/image/.htaccess
Pour avoir accès au répertoire /principal, il y a deux solutions :
- Soit tu mets son url 'absolue',
- soit tu mets son url relative.

Chemin absolu :
http://www.mangeur-de-cigogne.org/
chemin relatif :
../fichier.html.

Tu remarqueras les 2 points : .. avant le slash : /

Ces deux points ( ../ )veulent dire : remonter d'un niveau dans l'arborescence du répertoire, au meme titre que le point tout seul ( ./ ) veut dire : rester dans le même répertoire.

Donc, il te suffit de mettre une url relative (relative à la position du fichier htaccess), et de mettre 2 points et un slash, soit ../ pour indiquer que tu désires remonter d'un niveau.

A+, Anonymus.

ps : le lien n'ayant Que valeur d'exemple wink.gif
PhantomJoey
J'ai essayé une adresse relative mais sans succès. huh.gif
pourtant ça parait simple je dois seulement rentrer dans un répertoire sans remonter dans l'arborescence.

soit:
"./monrepertoire/.monhtpasswd"

j'ai même essayé:
"/monrepertoire/.monhtpasswd"

sans le point ça ne marche pas non plus. blink.gif

Puis je mettre mon .htpasswd dans le même repertoire que mon .htaccess sans risque pour la sécurité ou de conflit quelconque? r_question6161.gif
Dan
Bonjour PhantomJoey,

Il te faut un chemin serveur complet (full path) ...
Pour connaître ce chemin serveur (que ton hébergeur a normalement dû te donner), tu as une possibilité simple, un script php d'une ligne:
CODE
<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>

Ceci te donnera le chemin de la racine de ton site. Il te suffira d'ajouter à la fin de cette valeur les sous-répertoires jusqu'au fichier .htpasswd

wink.gif Dan
PhantomJoey
Salut Dan,

Ok je vais essayer.
Merci
PhantomJoey
Bon ça ne doit pas être un pb de chemin puisque qu'il ne reconnait toujours pas le login/passwd que j'ai entré dans le fichier .htpasswd. wacko.gif
Faut-il obligatoirement crypter le mot de passe pour que le .htaccess fonctionne ? r_question6161.gif
Car je n'ai pas crypté le mot de passe peut-être que le pb vient de là ? r_question6161.gif r_question6161.gif
Dan
Salut PhantomJoey,

Il faut encrypter le mot de passe, sauf chez Free et Online qui ont leur procédure expliquée et utilisent une autre approche.

Pour l'encrypter, vas voir l'article sur le fichier .htaccess dans les publications du Hub.
Tu y trouveras un formulaire de saisie te permettant d'encrypter le mot de passe, dans le tiers inférieur de la page.

Cordialement,

Dan
PhantomJoey
Merci beaucoup Dan,
je vais aller m'informer toujours et encore c'est ce que j'aime dans l'informatique: wub.gif il est impossible de tout savoir il faut toujours apprendre ...........
Et "dieu sait" que je suis seulement débutant et que je ne peux qu'apprendre.
Bref j'y vais.
PhantomJoey
Bon eh bien j'ai crypté mes mot de passe mais cela ne marche toujours pas.
Alors qu'en local cela marchait très bien je ne comprend vraiment pas huh.gif :o blink.gif sad.gif

J'avoue que je suis perdu.
Bon je vais continuer de chercher jusqu'à que je trouve, après tout ce n'est pas un fichier .htaccess/.htpasswd qui va me tenir tête. evil.gif

Merci à tous d'avoir essayer de m'aider, si vous avez d'autres idées je suis toujours preneur. :up:
PhantomJoey
Rebonjour tout le hub,

Je récapitule mon pb:
j'ai créé des fichiers .htaccess et .htpasswd pour sécuriser un répertoire et la boite de dialogue s'ouvre mais les login/mot de passe ne sont pas reconnus. huh.gif
Qu'est-ce que je pourrai faire pour résoudre ce problème ? r_question6161.gif
Dan
PhantomJoey,

Pourrais-tu nous donner le contenu de ton fichier .htaccess, ainsi que la valeur de la variable $_SERVER['DOCUMENT_ROOT'] (voir plus haut) ?
Et tant qu'on y est, le nom de ton hébergeur... le répertoire et le contenu du fichier .htpasswd (le mot de passe est encrypté... mets des xxx à la place du nom)

Dan
PhantomJoey
Dan j'ai fait une gaffe j'ai laissé mon nom d'utilisateur et le site pourrais-tu effacer mon message..........;
Anonymus
J'ai effacé le message. Envoies le à Dan, par MP, ce sera plus simple.

A+.
PhantomJoey
Merci beacoup pour avoir rectifié ma gaffe,
Voici les infos:
contenu du .htaccess:
CODE
AuthType Basic
AuthName "Acces Restreint"
AuthUserFile "/home/MonNomUtilisateur/MonSite.com/public_html/HTAccess/.htpasswd"
AuthGroupFile /dev/null
<Limit GET POST>
require valid-user
</Limit>


valeur de $_SERVER['DOCUMENT_ROOT'] :
"/home/MonNomUtilisateur/MonSite.com/public_html/"

mon hébergeur est : support.yourwebhosting.com

chemin du .htpasswd par rapport à mes pages est : "/HTAccess/.htpasswd"

contenu du htpasswd:
CODE
xxxxx:22kNGGT5K
xxxxx:f42156avZX
xxxxxx:91hYrMA5i


Voilà j'espère que vous pourrez m'aider
Encore merci
PhantomJoey
Bonjour à tous,

Ca y est j'ai enfin trouvé u_idea_bulb02.gif et j'avoue que c'était une erreur bête puisque c'était à
cause d'un répertoire oublié dans le chemin(je suis vraiement honteux blush.gif ).

Veuillez m'excusez de vous avoir fait chercher pour rien, quoique j'ai quand même appris des p_flower01.gif choses sur les chemin dans l'.htaccess.

Encore Merci à tous.
Dan
Salut PhantomJoey,

La seule chose qui diffère avec les fichiers que je mets généralement en place sont les guillemets autour du chemin du fichier .htpasswd mais je viens de faire un test et ca ne change rien....

Reste 3 possibilités:
  • Apache n'a pas les permissions pour lire le fichier .htpasswd (s'il est mis en mode 0600 ou 0640 par exemple ou que les permissions du répertoire sont trop restrictives) ... essayes en mettant le fichier en mode 0666 et le répertoire /HTAccess/ en mode 755. On verra pus tard pour limiter les permissions progressivement.
  • L'encryptage n'est pas bon... en es-tu sûr ? Si tu as utilisé le formulaire de l'article il devrait être bon.
  • Les fichiers ont été édités sous Windows/Mac et transférés en mode binaire ftp au lieu de ASCII... ils pourraient donc contenir des caractères "exotiques" (fins de lignes non-unix)
Dan
Dan
CITATION(PhantomJoey @ mardi 09 mars 2004, 09:51)
Veuillez m'excusez de vous avoir fait chercher pour rien, quoique j'ai quand même appris des  p_flower01.gif choses sur les chemin dans l'.htaccess.

Faut pas s'excuser, ca nous a fait un peu d'exercice mental wink.gif
Heureux de voir que ca fonctionne tout de même... je commencais à douter laugh.gif

Dan
PhantomJoey
Eh bien moi aussi je suis rassuré laugh.gif
Et c'est le moment que je préfère en info c'est lorsqu'après avoir bien cherché tu trouve: ça fait du bien nerveusement et psychologiquement. B)

Encore merci
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.