Jump to content
shivapat

.htaccess: 301 spécifiques et 301 pour le reste du site

Rate this topic

Recommended Posts

Bonjour,

Nous avons mis en ligne le nouveau site d'un client (ancien site: www.pccannes.com - nouveau site www.parachute-club-cannes.com). L'ancien site n'avait pas de réécriture d'url et ont donc un format rempli de paramètres.

Nous souhaitons mettre en place des redirections spécifiques pour les pages principales (une 10aine) et une redirection générale pour les autres url (qq milliers) afin qu'elles renvoient vers l'accueil du nouveau site. Nous avons passé pas mal de temps à éplucher le forum et d'autres ressources mais n'avons pas trouvé de réponse concrète à notre problème.

Si nous partons sur un schéma classique, nous redirigeons d'un domaine vers l'autre et les redirections spécifiques ne seront pas prises en compte:

RewriteEngine on# Redirect to another domain: www.parachute-club-cannes.com.RewriteCond %{HTTPS} offRewriteCond %{HTTP_HOST} !^(www\.)?parachute\-club\-cannes\.com$ [NC]RewriteRule .* http://www.parachute-club-cannes.com%{REQUEST_URI}[R=301,L]# Same for HTTPS:RewriteCond %{HTTPS} onRewriteCond %{HTTP_HOST} !^(www\.)?parachute\-club\-cannes\.com$ [NC]RewriteRule .* https://www.parachute-club-cannes.com%{REQUEST_URI}[R=301,L]# 301 Redirect URLs.Redirect 301 /www.pccannes.com http://www.parachute-club-cannes.comRedirect 301 /www.pccannes.com/index.php?option=com_content&view=article&id=56&Itemid=56 http://www.parachute-club-cannes.com/sauter-en-tandem(...)


Quelle est la meilleure méthode pour rediriger proprement les pages principales vers leurs pages correspondantes et toutes les autres pages vers l'accueil du nouveau site?

Merci pour votre aide

Share this post


Link to post
Share on other sites

Pour rediriger une URL avec QUERY_STRING, il faut utiliser cette syntaxe, parce que ta dernière ligne "Redirect 301..." ne fonctionnera pas :

RewriteCond %{HTTP_HOST} pccannes.comRewriteCond %{QUERY_STRING} option=com_content&view=article&id=56&Itemid=56RewriteRule .* http://www.parachute-club-cannes.com/sauter-en-tandem? [R=301,L]

Le ? final évite d'ajouter le QUERY_STRING qui est ajouté automatiquement pour une redirection 301 dans le cas contraire.

Un peu de lecture :
http://www.webmaster-hub.com/publication/Mod_rewrite-ou-la-reecriture-des.html
http://www.webmaster-hub.com/publication/La-reecriture-d-URL-recursive.html

La définition de REQUEST_URI sur le site d'Apache :

La partie chemin de l'URI de la requête, comme "/index.html". Ceci exclut en particulier la chaîne de paramètres de la requête qui est contenue dans la variable QUERY_STRING.


Tu devrais commencer tes réécritures par les règles spécifiques, et terminer par la règle générale pour toutes les autres pages... et non l'inverse, comme tu le fais dans ton exemple.

  • Upvote 2

Share this post


Link to post
Share on other sites

Pour rediriger une URL avec QUERY_STRING, il faut utiliser cette syntaxe, parce que ta dernière ligne "Redirect 301..." ne fonctionnera pas :

RewriteCond %{HTTP_HOST} pccannes.comRewriteCond %{QUERY_STRING} option=com_content&view=article&id=56&Itemid=56RewriteRule .* http://www.parachute-club-cannes.com/sauter-en-tandem? [R=301,L]
Le ? final évite d'ajouter le QUERY_STRING qui est ajouté automatiquement pour une redirection 301 dans le cas contraire.

Merci pour ton aide, je vais modifier les redirections spécifiques en suivant cette syntaxe.

Dois-je rajouter "/" à la fin de la nouvelle url comme le "/" fait partie intégrante de la canonical?

Si j'ajoute le "/" et le "?" à la suite pour respecter la canonical et ta recommandation, est-ce que Google va conserver le "?" en indexant les nouvelles urls? si oui ceci risque de nuire à l'indexation du site.

Tu devrais commencer tes réécritures par les règles spécifiques, et terminer par la règle générale pour toutes les autres pages... et non l'inverse, comme tu le fais dans ton exemple.

Si je fais correctement mes redirections spécifiques et les mets au début du .htaccess, je peux ensuite simplement ajouter

# Redirect to another domain: www.parachute-club-cannes.com.RewriteCond %{HTTPS} offRewriteCond %{HTTP_HOST} !^(www\.)?parachute\-club\-cannes\.com$ [NC]RewriteRule .* http://www.parachute-club-cannes.com%{REQUEST_URI}[R=301,L]# Same for HTTPS:RewriteCond %{HTTPS} onRewriteCond %{HTTP_HOST} !^(www\.)?parachute\-club\-cannes\.com$ [NC]RewriteRule .* https://www.parachute-club-cannes.com%{REQUEST_URI}[R=301,L]

et toutes les autres urls seront redirigées vers le nouveau site?

J'ai lu ces docs mais j'avoue m'y perdre un peu n'étant ni un vrai dev ni un vrai sysadmin smile.gif

Share this post


Link to post
Share on other sites

Tu peux ajouter le / final dans la règle de réécriture,.


Le ? ne sera pas retransmis lors de la réécriture, il est juste là pour indiquer à mod_rewrite qu'il ne faut pas ajouter le QUERY_STRING



Tu peux ajouter tes règles générales après toutes les règles spécifiques


  • Upvote 1

Share this post


Link to post
Share on other sites

Tu peux ajouter le / final dans la règle de réécriture,.

Le ? ne sera pas retransmis lors de la réécriture, il est juste là pour indiquer à mod_rewrite qu'il ne faut pas ajouter le QUERY_STRING

Tu peux ajouter tes règles générales après toutes les règles spécifiques

Je viens de mettre en place le .htaccess et tout fonctionne.

Une petite question, sur les urls non spécifiques (ex: http://www.pccannes.com/index.php?option=com_morfeoshow&task=view&gallery=7&Itemid=58, ça redirige bien sur le nouveau domaine mais ça garde le QUERY_STRING, pour les générales j'ai mis:


# Redirect to another domain: www.parachute-club-cannes.com.

RewriteCond %{HTTPS} off

RewriteCond %{HTTP_HOST} !^(www\.)?parachute\-club\-cannes\.com$ [NC]

RewriteRule .* http://www.parachute-club-cannes.com%{REQUEST_URI} [R=301,L]

# Same for HTTPS:

RewriteCond %{HTTPS} on

RewriteCond %{HTTP_HOST} !^(www\.)?parachute\-club\-cannes\.com$ [NC]

RewriteRule .* https://www.parachute-club-cannes.com%{REQUEST_URI} [R=301,L]

si je supprime "%{REQUEST_URI}" et ajout "/" est-ce que c'est ok?

Share this post


Link to post
Share on other sites

SI tu ne veux pas garder le QUERY_STRING il faut mettre ? en fin du second argument.



Si tu veux que toutes ces anciennes URLS pointent vers la racine du nouveau domaine, ne mets pas le REQUEST_URI !



Par exemple :



RewriteRule .* http://www.parachute-club-cannes.com/? [R=301,L]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By 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    
    • By 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)?
       
       
    • By TubeLeads
      Bonjour à tous,

      Nous créons ce post pour vous présenter TubeLeads, notre solution pour améliorer le référencement de votre site !
      Nous sommes un groupe d'étudiants en master 2 informatique et nous travaillons sur ce projet depuis déjà quelques mois.

      Voici une rapide présentation de notre outil : 

      Comme vous le savez, YouTube, Dailymotion et Vimeo attirent énormément de vues. YouTube est le 2ème, juste après Google, des sites les plus visités dans le Monde. En général, les vidéos contiennent dans leur description un ou plusieurs liens vers d’autres sites, et il peut arriver que certains de ces sites soient expirés.

      C’est là que TubeLeads intervient !

      Nous proposons un site web très simple d’utilisation : vous n’avez qu’à lancer une recherche en renseignant les mots clés correspondant à votre activité. Vous aurez alors la liste de toutes les vidéos avec les liens vers les sites expirés. Nous vous proposons ensuite d’acheter ces noms de domaines libres afin de conduire les visiteurs de la vidéo sur le site principal de votre business.

      Notre solution s’adresse à toutes les personnes cherchant à améliorer leur référencement internet ou à attirer plus d’utilisateurs sur leur business. 

      Nous sommes actuellement à la recherche de testeurs pour notre solution. C'est sans engagement et totalement gratuit et cela nous aidera à finaliser notre projet. Si vous êtes intéressés n'hésitez pas à répondre dans ce post, nous vous indiquerons alors la marche à suivre pour tester notre solution.

      Nous vous proposons aussi de vous inscrire à notre newsletter via ce lien afin de vous informer des nouveautés concernant notre projet : http://tubeleads.co/

      Merci à tous 
       
       
       
    • By annak-75
      Bonjour à tous,
       
      (Je suis extrêmement novice en référencement)
       
      Pour brièvement me présenter je suis graphiste freelance et suis spécialisée sur le secteur de l’hotellerie/restauration.
       
      Etant invisible des recherches google pour un restaurateur cherchant à créer son logo ou ses menus, je suis passée à Adwords et j’ai aussi un petit peu lu sur le référencement naturel.
       
      J’ai déjà quelques backlinks sur mon site et j’ai vu qu’il était intéressant de mettre des mots clés dans la description des images sur mon site. C’est donc ce que j’ai fait il y a quelque temps.
       
      Et donc ça a marché ! Mon site est maintenant sur la première page sur certaines recherches de mes mots clés, donc génial !
      Le problème c’est que le snippet reprend la liste infâme de mots clés bout à bout « creation logo restaurant bar graphiste freelance menus paris … «  et franchement ça donne pas envie de cliquer.
       
      De plus, j’ai fait mon site sur Wordpress, le titre est donc mon nom mais Google ne lui associe pas mon « slogan « ( comme c’est écrit sur Wordpress soit la description du site )  ‘Graphiste Freelance’ et c’est dommage.
       
      Sur mon site on rentre par une phrase d’introduction :
      ‘Que ce soit une brasserie, une petite pâtisserie, un restaurant haut de gamme ou une maison d’hôtes, chacun a une histoire à raconter.’
      et j’aimerais que ce soit ça qui soit publié en snippet sur Google, ou un autre texte choisi qui parle de mon activité, est ce possible ?
       
      Sauriez vous m’aider à résoudre mon problème ?
       
      Mille mercis !
      Anna

×
×
  • Create New...