web-dev-qa-db-fra.com

Besoin d'aide pour réparer un problème de redirection 301

J'ai eu des problèmes avec mon site Web et à la suite fait un test de Crawl dans SEOmoz. Le test a trouvé une redirection 301 déplacée de façon permanente de toutes les pages du site Web et il semble qu'elles soient redirigées vers elles-mêmes?

Après avoir effectué une exploration de mon site Web, j'ai constaté que cette énorme quantité de données apparemment corrompues était ajoutée à l'URL de chacune de ces pages: https://www.getyourphotosoncanvas.com/%7Egetyouv4/%7Egetyouv4/ contact-us.html 301 redirige vers https://www.getyourphotosoncanvas.com/%7Egetyouv4/contact-us.html

Cette liste est ensuite suivie d’une longue liste de redirections, chacune ajoutant une autre ligne, par exemple: domaine/7Egetyouv4 /% 7Egetyouv4 /% 7Egetyouv4 /../% 7Egetyouv4 /%/contact-us.html

Cette partie répétée, %7Egetyouv4, dure indéfiniment ... Je l'ai abrégée pour le message et j'ai supprimé le nom de domaine pour éviter un troisième lien (limite de publication).

Je sais que cela doit être un problème. Le support Bluehost dit qu’il ne montre aucune redirection 301, alors que cela pourrait être un problème dans le fichier WP xmlrpc.php? Je suis un novice à ce quelqu'un peut-il me dire ce que tout cela signifie?

Juste pour clarifier, je n’ai pas défini les redirections, je n’ai pas besoin de redirections, cela m’a été montré à mon insu. Certains ont suggéré un hack?

Plus important encore, pouvez-vous me dire comment résoudre ce problème?

4
user16360

Je sais qu'il s'agit d'un fil ancien, mais je l'ai rencontré en cherchant la solution exacte en mars 2017. J'espère que cette solution est le correctif d'essai qui fonctionne pour quelqu'un et qui sauve un peu de santé mentale. Je l'ai postée sur le forum de support X Theme car je demandais de l'aide là-bas et j'ai décidé que cela nécessitait une plus grande visibilité.

La solution bizarre (pour moi) était de réorganiser les deux parties de mon .htaccess. La voici pour ceux qui se frappent la tête de la même façon contre leur bureau…

J'ai besoin que mon .htaccess fasse deux choses; amenez les gens à parcourir Domain1.com vers l'instance WP à la racine Web du site et à rediriger les utilisateurs parcourant Domain2.com vers l'instance WP dans un sous-répertoire appelé SubdirectoryName ici. Les sections de code suivent. Le fichier .htaccess qui entraînait 301 erreurs pour chaque page sauf Home avait la méthode de redirection AVANT la méthode WP. J'ai déplacé la méthode WP au-dessus de la méthode de redirection, désespérée après la désactivation des plugins, la recherche et le remplacement de nombreuses URL persistantes du domaine de développement avec le plug-in Better Search Replace, et même la désactivation complète du fichier .htaccess (didn '). Je ne sais pas à quel point je suis venu avec celui-là), et le et le site se sont comportés normalement, avec Domain2.com redirigeant comme souhaité.

La morale de l'histoire est que WP ressemble à une prima donna qui demande à être reconnue en premier.

Standard WP construction:

# 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

Redirige le code pour envoyer Domain2.com à l'instance WP dans SubdirectoryName

# BEGIN redirect to SubdirectoryName
RewriteEngine on
RewriteCond %{HTTP_Host} ^(www.)?domain2.com$
RewriteCond %{REQUEST_URI} !^/SubDirectoryName/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /SubDirectoryName/$1
RewriteCond %{HTTP_Host} ^(www.)?domain2.com$
RewriteRule ^(/)?$ SubDirectoryName/index.php
RewriteBase /
RewriteRule ^index.(.*)?$ http://domain2.com/SubDirectoryName/ [r=301]
# END redirect to SubdirectoryName

Danged si je sais ce que toute cette syntaxe de redirection signifie. Nous n’avons plus à apprendre chaque morceau de code et l’écosystème WP est bien vivant. Heureux de payer pour X, le support et quelques plugins valables pour réduire l'inclinaison de la courbe d'apprentissage. Je n’ai tout simplement pas le temps - ou le désir - de le tromper de nos jours. J'ai conçu mon premier site dans Notepad, avec quelques boutons et un en-tête intégré à Photoshop, vers 1994-1995, afin de mettre en ligne mon article de recherche principal - pour voir si je pouvais le faire. Ensuite, vous DEVEZ connaître chaque point et chaque barre oblique, mais il y en avait moins et c'était plus une affaire de conquête. Le livre s'intitulait "Apprendre le HTML en 24 heures".

J'espère que cela aide une âme frustrée à obtenir quelques heures supplémentaires de sommeil!

2
Alan C

Cela peut être dû à divers problèmes: mauvais code dans votre thème, mauvais code dans un plugin, problème de configuration .htaccess ...

Si vous ne savez pas comment éditer le .htaccess, vous pouvez commencer par procéder comme suit:

  • Changer votre thème
  • Désactiver vos plugins

Si cela ne résout pas le problème, cela sera probablement lié à votre .htaccess.

Si cela résout le problème, essayez de revenir à votre thème d'origine et vérifiez si le problème est de retour. Si c'est le cas, c'est un problème de thème. Sinon, essayez de réactiver les plugins un par un et testez chaque réactivation pour identifier celui qui provoque la redirection.

Une chose que vous pouvez faire est d’analyser votre site Web avec http://sucuri.net/ pour vous assurer qu’il n’ya pas de fichier corrompu. Si tout est en ordre, le problème à résoudre est plus complexe.

1
Julien

Passez par votre programme de transfert de fichier (FTP) et cherchez un fichier intitulé ".htacess"

Supprimez tout ce qu'il contient et insérez le code suivant:

# 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

Une fois que cela est fait, allez dans les paramètres de permaliens et mettez-les à jour.

0
Nathan Drier

Supprimez votre fichier htaccess et mettez à jour votre option permaliens pour voir si cela résout le problème.

0
Satish Gandham