Dan Posté 1 Septembre 2003 Posté 1 Septembre 2003 Vous changez d'hébergeur et de nom de domaine ? Vous voulez garder le bénéfice du référencement de vos anciennes pages ? Alors vous aurez plus que vraisemblablement besoin de mettre quelques redirections en place. Découvrez les 1001 facettes du fichier .htaccess Lisez l'article en ligne sur le fichier .htaccess et intervenez avec vos questions et commentaires ci-après.
MonWeb Posté 15 Septembre 2003 Posté 15 Septembre 2003 Pour les redirections qui concernent les pages qui ont changé d'adresse, le code est RedirectPermanent ancien.html http://www.domaine.tld/nouveau.html Dans un cas précis Ancienne url présente dans Google : h**p://www.conseilgeneral.com/mairies.htm Nouvelle url pour remplacer : h**p://www.conseilgeneral.com/mairies/mairies.htm J'ai donc mis ce code: RedirectPermanent mairies.htm h**p://www.conseilgeneral.com/mairies/mairies.htm (sur une seule ligne) Ca ne fonctionne pas. Ou est l'erreur de code ? Au passage j'ai 137 url indéxé dans Google qui ont changées d'adresse et je transpire deja a l'idée d'écrire ces 137 lignes Un google plus musclé détectant une erreur 404 pourrait aller chercher la nouvelle Url de lui même
Perle d'Argent Posté 15 Septembre 2003 Posté 15 Septembre 2003 Il me semble que RedirectPermanent mairies.htm h**p://www.conseilgeneral.com/mairies/mairies.htm devrait fonctionner!
Dan Posté 15 Septembre 2003 Auteur Posté 15 Septembre 2003 Salut Thierry, Dans ce cas précis, le RedirectPermanent ne fonctionnera pas, parce que tu renommes mairies.htm en ... mairies.htm même s'il est dans un autre répertoire. Je ne vois d'ailleurs pas bien ce que cela t'apporte en terme de mots clés car tu ne fais que répéter un mot clé qui y est déjà... Si tu y tiens absolument, tu pourrais utiliser plutôt RedirectMatch car celui-ci permet des expressions régulières que ne permet pas le RedirectPermanent, par exemple: RedirectMatch 301 ^/(mairies)\.html$ http://www.conseilgeneral.com/$1/$1.html ou encore: RedirectMatch 301 ^/(mairies|truc|machin|bidule)\.html$ http://www.conseilgeneral.com/$1/$1.html Ce dernier te permettrait de rediriger /machin.html en machin/machin.html
MonWeb Posté 15 Septembre 2003 Posté 15 Septembre 2003 Dan, OUF, j'ai fini de faire les 137 redirections de mes pages dans le fichier htaccess. On a beau croire aux machines et réver un peu pour les miracles il faut quand même bosser ! Merci pour tes conseils A+
Dan Posté 19 Septembre 2003 Auteur Posté 19 Septembre 2003 On a beau croire aux machines et réver un peu pour les miracles il faut quand même bosser ! ...Ou encore vraiment bien maîtriser les expressions régulières. J'ai un article traitant des regex "sur le feu". Il permettra de dégrossir le sujet pour nombre d'entre vous. Mais tu te doutes bien qu'avec les exemples, ça ne s'écrit pas aussi vite que de la simple prose. Dan
Olivier Posté 14 Novembre 2003 Posté 14 Novembre 2003 Bonjour le hub Je voudrais utiliser mon espace ftp pour y placer des fichiers à télécgarger en anonyme. Pour celà je pense créer des répertoires distincts et y mettre les fichiers (un peu de rangement). Je me demande si il est possible par un .htaccess de proteger la racine de chaque répertoire, histoire de ne pas permettre la navigation d'un répertoire à l'autre. Si le .htaccess est permis, a t'il la même syntaxe que le .htaccess de l'espace web Merci
Dinostrate Posté 14 Novembre 2003 Posté 14 Novembre 2003 (modifié) Bonjour Olivier. Je l'ai fait v'la deux jours après avoir lu les conseils de Dan sur le .htaccess et ça a l'air de bien fonctionner. Si tu places un .htaccess dans un quelconque répertoire, ou sous répertoire, toute la suite de l'arborescence est bien bloquée si tu n'as pas le mot de passe. J'ai fait simple : en combinant un fichier contenant le "pass" avec le fichier .htaccess Au début, j'avais mal compris les explications de Dan. En fait, tu peux placer autant de .htaccess et de codes d'accès que de répertoires. Bien sur, c'est inutile pour la suite de l'arborescence. Dino Modifié 14 Novembre 2003 par Dinostrate
Olivier Posté 14 Novembre 2003 Posté 14 Novembre 2003 Ok Dino Je vais tester celà J'ai cherché auparavant dans google, et rien n'en parle spécifiquement pour le FTP Merci
Dan Posté 14 Novembre 2003 Auteur Posté 14 Novembre 2003 Salut Olivier et Dino, Il ne faut pas confondre les protocoles http et ftp car ils ne répondent pas aux mêmes mêmes règles en matière de protection. Le fichier .htaccess ne peut jouer son rôle de "chien de garde" que dans le cas du potocole http... sinon vous auriez des problèmes pour accéder par ftp aux répertoires contenant un fichier .htaccess sur votre espace web, non ? Protéger un accès ftp passe par des permissions de répertoires, mais comme dans le cas d'Olivier, l'accès est un accès ftp anonyme sur serveur mutualisé, cette solution ne peut s'appliquer. Cela ne s'applique qu'aux accès ftp avec utilisateur identifié, ou aux serveurs ftp que l'on peut complètement paramétrer. Une solution serait d'accéder au téléchargements de fichiers à travers un script php qui pourrait limiter les dégâts... Il faut en tout cas s'assurer de ne pas laisser le droit d'écriture aux visiteurs anonymes pour ne pas voir cet espace ftp utilisé pour stocker des programmes ou fichiers illégaux. (ou W*R*Z ... mais je n'ai pas vraiment envie que le Hub ressorte pour ce mot dans Google ) Dan
Olivier Posté 14 Novembre 2003 Posté 14 Novembre 2003 Salut Dan Tu me rassures Il s'agit d'espace identiques mais de protocole differents, donc d'acces differents. J'ai mis des droits en 755 à un répertoire et l'acces sera géré par un fichier php Je voulais interdire l'acces à la navigation dans d'autres répertoire que ceux du thème, mais je crois comprendre que c'est plutôt limité en anonyme, (à moins de mettre des login/password, mais je ne le gère pas sur la partie web) Le problème est que par le navigateur je ne vois même pas le répertoire que je viens de mettre.
Dan Posté 15 Novembre 2003 Auteur Posté 15 Novembre 2003 Le problème est que par le navigateur je ne vois même pas le répertoire que je viens de mettre. Salut Olivier, Plus que vraisemblablement parce que le protocole http n'est pas supporté sur les serveurs ftp anonyme d'OVH... Si tu émets un lien vers un fichier du style <a href=ftp://domaine.tld/fichier.ext> , le vois-tu ? Dan
Olivier Posté 15 Novembre 2003 Posté 15 Novembre 2003 Dan Le procotole http sur du ftp anonyme chez ovh sur un plan identique au mien est accepté. De la racine on ne voit pas les répertoires, mais si on connait un nom de répertoire, on peut y entrer et naviguer. De mon coté, je vois bien la racine, mais pas le répertoire, ni le fichier. Je vais me renseigner auprés du webmaster dont le ftp ou IE fonctionne Merci [Edit : Problème résolu !]
gagaches Posté 19 Novembre 2003 Posté 19 Novembre 2003 (modifié) bonjour, j'écris parce que je me dis que je mérite po DU TOUT mon diplome d'ingé. j'ai tout suivi le truc ... (je file les fichiers que j'ai tapé ca sera plus clair) En connexion FTP, mon site est de la forme : /www/admin ... les fichiers du site sont placés dans /www .htaccess placé dans /www/admin AuthUserFile /www/.htpasswd AuthGroupFile /dev/null AuthName "Acces Restreint" AuthType Basic <Limit GET POST> require valid-user </Limit> .password placé dans /www (mot de passe 'a') admin:20Fr4vjmM8dZE j'ai utilisé le prog en lien dans le cours pour générer le mot de passe ... Et je n'arrive pas à accéder au répertoire admin de mon site ... avec le login admin et le mot de passe XXXXXX, je suis rejeté 3 fois et puis j'ai l'erreur : Authorization Required This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required. Alors suis-je fou ? neuneu ? ou alors il y a un bug ??? Modifié 19 Novembre 2003 par gagaches
Olivier Posté 19 Novembre 2003 Posté 19 Novembre 2003 Salut Dans le .htaccess Ne manque t'il pas home/login devant le répertoire www/ pour donner /home/login/www/.htpasswd
Dan Posté 19 Novembre 2003 Auteur Posté 19 Novembre 2003 Salut Gagaches, et bienvenue à bord du Hub, Pas besoin de diplôme d'ingé pour mettre une restriction .htaccess Mais il faut bien lire l'article... Tu mets AuthUserFile /www/.htpasswd alors qu'il faut mettre un chemin serveur, depuis la racine... c'est à dire, le plus souvent quelque chose comme /home/ton_login/www/.htpasswd Si tu es chez OVH c'est cette forme là, sinon le plus simple est encore de lancer un script php avec: <?php echo $_SERVER['DOCUMENT_ROOT']; ?> pour trouver la racine de ton site et adapter. Dan
Dan Posté 19 Novembre 2003 Auteur Posté 19 Novembre 2003 Une précision toutefois... chez certains hébergeurs, dont Online, le mot de passe n'est pas encrypté, et la syntaxe varie pour le .htaccess car ils utilisent une protection non standard. Le .htaccess est dans ce cas de la forme: PerlSetVar AuthFile secret/passlist AuthName "Acces Restreint" AuthType Basic<limit GET POST>require valid-user </limit> et le PerlSetVar AuthFile secret/passlist doit avoir une adresse relative par rapport à la racine de ton site, et non celle du serveur. Dan
Anonymus Posté 23 Novembre 2003 Posté 23 Novembre 2003 (modifié) Bonjour, pour le cas où l'on met un 'rewrite rule', et un 'errordocument', lequel des 2 placer devant ? et est ce que la regle du [L] est valable pour le errordocument merci Modifié 23 Novembre 2003 par anonymus
Neoboot Posté 23 Novembre 2003 Posté 23 Novembre 2003 Moi j'ai mis le "errordocument" en premier suivi du "rewrite rule" et le [L] est placé sur la derniere règle du "rewrite rule" .... et tout marche
Neoboot Posté 23 Novembre 2003 Posté 23 Novembre 2003 Une question me turlupine la tête en cas de sous-domaine. Peut-on utiliser un fichier ".htaccess" different par sous domaine ? Car quand on regarde l'arborescence d'un site les logiciels tienne compte des sous-domaines et ne montre pas les dossier associés.....
gagaches Posté 23 Novembre 2003 Posté 23 Novembre 2003 et bien en fait j'ai testé avec mais ça a rien donné non plus ... vu que c que limiter l'acces à un répertoire selon un mot de passe, je vais refaire un test de mot de passe en PHP et pi tant pis ...
Priape Posté 28 Février 2004 Posté 28 Février 2004 Bonjour Olivier.Au début, j'avais mal compris les explications de Dan. En fait, tu peux placer autant de .htaccess et de codes d'accès que de répertoires. Dino Dino écrivait voilà quelques mois à Olivier : « J'ai fait simple : en combinant un fichier contenant le "pass" avec le fichier .htaccess Au début, j'avais mal compris les explications de Dan. » J'ai besoin d'installer un accès restreint, mais je suis sur Online. J'ai suivi l'article de Dan, mais je bute sur les mots home et login pour renseigner la première ligne du fichier .htaccess. Je souhaite protéger une URL complète. Et dans le .htpasswd, je rebute encore plus sur le cryptage. Quelqu'un pourrait-il m'aider ? Cordialement, Un internaute dans le cirage, [Priape]
Dan Posté 28 Février 2004 Auteur Posté 28 Février 2004 Salut Priape, et bienvenue a bord du Hub ! Chez Online, c'est un peu particulier comme les mots de passe ne sont pas encryptés. Tu as donc 2 fichiers, comme partout ailleurs... Le fichier contenant les mots de passe (par exemple: secret/passlist) avec une ligne par utilisateur/mot de passe (en clair): boss:PasSw0rd paul:SecR3t pierre:MotDePaSsE Le fichier .htaccess, dans le répertoire que tu veux protéger: PerlSetVar AuthFile secret/passlist AuthName "Acces Restreint" AuthType Basic<limit GET POST>require valid-user </limit> Le chemin donné dans l'exmple ci-dessus suppose que le fichier contenant les mots de passe s'appelle "passlist" et se trouve dans le répertoire "secret" à la racine de ton site.. tu peux bien sûr changer cela. Il est conseillé de protéger ce répertoire en y mettant aussi un fichier .htaccess avec une seule ligne: Deny From All Dan
Priape Posté 1 Mars 2004 Posté 1 Mars 2004 Merci pour la promptitude et l'exactitude de la réponse. J'ai exécuté, en vain. Je veux protéger un site de quelques pages. J'ai en conséquence créé un fichier .htaccess que j'ai placé (étant en mac + Dreamweaver) sur la racine de ce site. Puis j'ai constitué un dossier "secret" contenant le fichier en php 'passlist' (ainsi nommé, court) + un fichier en php contenant la ligne conseillée, nommé à nouveau .htaccess. C'est avec ce strict (mais sans doute trop ignorant) respect de ces règles que je bute. Est-ce encore possible de me débloquer sur ce point ? Où suis-je bouché ? Très cordialement,
Guest Gloom Posté 1 Mai 2004 Posté 1 Mai 2004 A propos de l'article: En plus de lerreur 404, vous pouvez donc fournir des pages spécifiques pour les erreurs les plus fréquentes, par exemple : 401 - Autorisation Requise 400 - Mauvaise requête 403 - Interdit 500 - Erreur interne serveur Il me semble qu'une erreur 500 ne peut-être provoquée que par une erreur dans le .htaccess donc, si il y a erreur, le .htaccess ne marche pas, je ne vois donc pas l'interret de faire une page d'erreur 500 puisqu'elle ne sera pas affichée, à moins d'avoir un .htaccess à la racine définissant les pages d'erreur et des .htaccess spécifique dans certains réperdoire. Bref, ça ne me parrais si rarement utile que je me dis que ça ne vaut pas la peine de le mentionner.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant