web-dev-qa-db-fra.com

Exclure Facebook Crawler de la suite des redirections Htaccess?

J'ai récemment créé mon site Web https et son ancienne URL (http) avait de nombreux goûts sur Facebook que j'aimerais migrer vers la nouvelle URL https. Le seul changement apporté à l'URL était le https, aucun changement de domaine ni rien d'autre.

J'ai suivi les étapes de migration conseillées par Facebook, mais j'ai rencontré les erreurs suivantes (selon le débogueur d'objets graphiques Open de developer.facebook.com):

Critical Errors That Must Be Fixed.
Could Not Follow Redirect Path.
Using data from https://www.myurl.com because there was an error following the redirect path.

Errors That Must Be Fixed.
Circular Redirect Path.
Circular redirect path detected (see 'Redirect Path' section for details).
Could Not Follow Redirect.
URL requested a HTTP redirect, but it could not be followed.

To find the object, these are the redirects we had to follow.
original http://www.myurl.com
302 https://www.myurl.com
og:url http://www.myurl.com

Je ne sais pas comment résoudre ce problème. Évidemment, en raison du changement de http à https, j'ai une redirection 301 de http à https sur mon fichier .htaccess, ce qui, selon moi, est à l'origine du problème. Des idées les gens?

Mettre à jour ...

Il semble que ce que je dois faire est d’exclure le robot d'exploration de Facebook (comment l'identifier?) De la suite de mon http://www.myurl.com à https: // www. myurl.com redirection. Mon fichier .htaccess ressemble à ceci pour le moment ...

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/contact-us\.php
RewriteRule ^ https://%{HTTP_Host}%{REQUEST_URI}

RewriteCond %{HTTPS} on
RewriteRule ^contact-us\.php http://%{HTTP_Host}/contact-us.php [NC,L,R=301]

J'ai http à https redirigé à l'exception d'une page php. Mais comment puis-je empêcher le robot d'exploration de Facebook d'aller automatiquement à https?

1
Lindy

Vous devez désactiver la redirection 301 lorsque le robot d'exploration de Facebook analyse le site. Jon Lin dit sur StackOverflow :

Cette question adresse à l'agent utilisateur à quoi ressembleront les hits externes de Facebook. Il vous suffit d'ajouter une condition pour la vérifier:

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_USER_AGENT} !facebookexternalhit/[0-9]
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI}
1
Nona Man