Aller au contenu

Noter ce sujet :

Recommended Posts

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :huh: 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 :rolleyes:

Un google plus musclé détectant une erreur 404 pourrait aller chercher la nouvelle Url de lui même ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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+

Partager ce message


Lien à poster
Partager sur d’autres sites
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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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é par Dinostrate

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok Dino

Je vais tester celà

J'ai cherché auparavant dans google, et rien n'en parle spécifiquement pour le FTP

Merci ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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. :blink:

Partager ce message


Lien à poster
Partager sur d’autres sites
Le problème est que par le navigateur je ne vois même pas le répertoire que je viens de mettre.  :blink:

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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 !]

Partager ce message


Lien à poster
Partager sur d’autres sites

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é par gagaches

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut

Dans le .htaccess

Ne manque t'il pas home/login devant le répertoire www/ pour donner

/home/login/www/.htpasswd

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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é par anonymus

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites
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]

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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,

Partager ce message


Lien à poster
Partager sur d’autres sites
Guest Gloom

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • Contenu similaire

    • Par kevinjoseph
      Bonjour, j’ai un gros problème sur mon site Wordpress . Du jour au lendemain, mon site wordpress fais une redirection vers un autre site wordpress que j’ai crée ,sans que je touche à quoi que ce soit. Quand j’essai d’aller sur l’admin pour désactiver les plugins et voir d’où peut venir le problème. Impossible d’accéder, sa me redirige vers l’admin de l’autre site. Au final il est impossible que j’accède au site via (google, la bare de recherche, les favoris, l’admin…) pour voir ce qu’il fonction pas, j’ai juste accès au FTP. J'ai essayé de voir d'où pouvez venir ce bug en supprimant les plugins, le théme, mes derniers modifications, regarder sur le .htaccess si il y avais quelque par le nom de domaine de l'autre site écrit. Ca n'a rien changer, le site continue de ce rediriger automatiquement vers l'autre site. Si vous avez une idée d’où sa peut venir ou comment faire pour arranger ça et surtout comment éviter que sa ce reproduise. Sa m’aiderai beaucoup, merci d’avance.
      voici le code du .htaccess:
       
      # BEGIN WordPress
      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      </IfModule>

      # END WordPress
      ~   Ludovic • 16:28    
    • Par leobk
      Bonjour,
       
      J'ai un sous-domaine www.fr.monsite.com dédié pour la réservation des vols
      j'ai redirigé récemment ce sous-domaine vers le site principal www.monsite.com et le nombre des erreurs 404 a explosé
      un nombre énorme d'URLs de type :
      www.fr.monsite.com/fr/vols/index?f_type=01&f_departure=TLS&f_destination=DJE&f_date_from=08/09/2013&f_date_to=22/09/2013&f_flexibility=3&f_paxs_adults=2&f_paxs_childs=0&f_paxs_infants=0
      redirigent vers :
      www.monsite.com/fr/vols/index?f_type=01&f_departure=TLS&f_destination=DJE&f_date_from=08/09/2013&f_date_to=22/09/2013&f_flexibility=3&f_paxs_adults=2&f_paxs_childs=0&f_paxs_infants=0
       
      L'URL de destination est biensur introuvable 404, puisque les variables utilisés dans les deux sites ne sont pas identiques
      Voici la structure d'URL si on fait une recherche de vol sur le site principal :
      https://www.monsite.com/fr/resa?depart=SXF&arrivee=NBE&aller=2017-11-10&retour=2017-11-30&adultes=1&enfants=1&bebes=0&departureDateTime_D=&arrivalDateTime_D=&departureDateTime_R=&arrivalDateTime_R=&fareGroupName=&fareGroupName_R=&sens=2&currency=EUR&airline=&flightNumber=&flight=&flight_retour=&webview=0&felxibilite=2
       
       
      existe-il un moyen pour rediriger l'ensemble des URLs dynamiques du sous-domaines vers une URL statique du domaine principale (autre que l'accueil)?
       
       
    • Par PieceMobile
      Bonjour,



      J'espère que vous allez tous bien.



      Auriez vous une solution pour rediriger ( via une règle htaccess par exemple ) :



      http://www.mon-site.com/blabla.html?ps_mobile_site=1



      vers : http://www.mon-site.com/blabla.html



      A mon avis, s'agissant d'un paramètre d'URL, de ce que j'ai cru comprendre -a mon petit niveau- c’était pas possible, mais ça me dépannerai pas mal si l'un d'entre vous avait une idée.



      Merci d'avance





    • Par aurelien59
      Bonjour, Je me permet de poster ce problème sur ce forum en plus de l'avoir posté sur un autre. Le problème survient sur un site codé en dur. Depuis plusieurs mois après la mise en place de redirection, je rencontre un problème. La redirection a été mise en place pour rediriger simplement les pages ayant un underscore vers un tiret. Par exemple page_1.php vers page-1.php Dans Google webmasters tools, zone "Exploration", > Erreurs d'exploration > le nombre des URL non suivies à augmenter de manière considérable sur ordinateurs et smartphone.

      Voici un exemple de page contenant l'erreur : page-1.php/page-a.php (alors que la page correcte est page-1.php, la page page-a.php est présente sur le site en racine). Lorsque je clic sur l'url d'erreur, dans l'onglet "Référencée sur". Les url qui apparaissent sont : http://www.monsite.fr/page-2.php/page-b.php'>>http://www.monsite.fr/page-2.php/page-b.php et http://www.monsite.fr/page-2.php/page-c.php'>>http://www.monsite.fr/page-2.php/page-c.php (non indexés sur Google). Voici l'extrait du .htaccess ErrorDocument 404 http://www.monsite.fr/404.phpRewriteEngine onRewriteCond %{HTTP_HOST} ^monsite.fr$RewriteRule ^(.*) http://www.monsite.fr/$1 [QSA,L,R=301]RewriteRule ^([^_]*)_([^_]*)$ /$1-$2 [L,R=301]RewriteRule ^(.*)\.php/$ http://www.monsite.fr/$1.php[L,R=301]RewriteRule ^(.*)\.php/(.*)\.php$ http://www.monsite.fr/$1.php[R=301]RewriteCond %{REQUEST_FILENAME} -s [OR]RewriteCond %{REQUEST_FILENAME} -l [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^.*$ - [NC,L]RewriteRule ^.*$ /404.php [NC,L] Merci beaucoup pour votre aide.
×