web-dev-qa-db-fra.com

Boucle de redirection infinie après avoir été déplacé dans un sous-répertoire

J'ai installé WordPress localement et créé un thème qui a bien fonctionné. Maintenant, comme je voulais déployer le site sur un serveur Web via FTP, je me suis retrouvé coincé par une boucle de redirection 301 qui rend impossible l'accès au site (à l'exception du nom de connexion principal).

J'ai déplacé WordPress dans un sous-répertoire car je ne souhaite pas remplacer le site actuel.Les étapes suivantes n'ont pas fonctionné:

  • Modification de siteurl et home à partir de la table wp_options (essayé à la fois www et non-www)
  • Editer le .htaccess pour que le RewriteBase soit correct. Après que cela ne fonctionne pas, je l'ai supprimé, toujours pas de succès
  • Rechercher et remplacer la base de données pour les entrées qui pourraient avoir l'ancienne URL (en utilisant this script)
  • Suppression du .htaccess du répertoire racine (htdocs)
  • Renommer le sous-répertoire et changer à nouveau tous les chemins
  • Remplacement de siteurl et home via wp-config.php

Rien de tout cela n'a fonctionné. Je sais que l’hôte oblige à rediriger vers www, mais quel que soit le type d’URL que j’ai saisi, redirige toujours. Des idées?

PS: Si je télécharge un seul fichier index.html dans ce répertoire, cela fonctionne correctement ...

1
Andrew

Comme mentionné dans mon commentaire, assurez-vous de tester les éléments suivants dans un navigateur "propre":

  1. Définissez siteurl & home à http://www.example.com/wordpress-subdirectory
  2. Régler permalink_structure à néant
  3. Régler active_plugins à néant
  4. Assurez-vous qu'aucune constante WP_SITEURL ou WP_HOME n'est définie dans votre wp-config.php.
  5. Supprimer toutes les règles de réécriture à faire avec WordPress de votre .htaccess

Toutes ces étapes ne sont pas nécessairement nécessaires, mais j'essaie de couvrir toutes les bases ici.

Essayez de vous connecter. Si vous touchez un écran blanc mortel, il est fort probable que votre thème actif appelle des fonctions dépendantes du plug-in. Remplacez stylesheet et template dans wp_options par twentyfifteen (ou tout autre thème par défaut et vérifiez qu'il existe dans votre répertoire themes).

Testez le frontend. Tout bon? Allez réactiver chaque plugin, un par un, en testant l’interface à chaque fois.

Hit le problème à nouveau? Vider le cache du navigateur et réinitialiser active_plugins, puis installer et activer Deploy Helper

Allez dans Outils> Déployer Helper.

Dans la section "Réparer les chemins et les URL", définissez From sur http://localhost (ou tout ce que vous utilisiez pendant le développement) et To sur http://www.example.com/wordpress-subdirectory. Laissez les chemins des serveurs tels qu’ils sont.

Courir Fix.

Activez à nouveau le plugin Troublemaking et tout devrait bien se passer.

1
TheDeadMedic

J'ai trouvé le problème: il s'agit d'une configuration de serveur étrange. Le mappage de port est un peu étrange, car le port 80 est mappé sur un port à cinq chiffres de l'autre côté. C'est pourquoi WordPress a redirigé dans une boucle.

Pour résoudre ce type de problème, entrez le numéro de port HTTP dans vos paramètres WordPress:

http://your-domain.com:80/directory ou https://your-domain.com:443/directory

Merci TheDeadMedic pour votre aide!

0
Andrew

Merci à wpbeginner :

Accédez à Paramètres "Général, modifiez votre adresse WordPress et votre site. Si vous avez votre adresse avec le préfixe www, changez-la en une URL non-www, et si vous l'avez avec une URL non-www, ajoutez le préfixe www.

Bien entendu, cela peut être édité directement dans les entrées WP_SITEURL et WP_HOME de la base de données.

0
che-azeh