web-dev-qa-db-fra.com

Joomla 2.5.6 infinite 303 loop (SEF)

J'essaie de migrer un site Joomla 2.5.6 d'un serveur à un autre. J'ai utilisé scp pour copier les fichiers un à un et prendre un mysqldump de la base de données afin que je sois sûr que le nouveau serveur possède un clone du code.

Les différences que je peux identifier avec le serveur d'origine sont les suivantes:

  • Il y avait PHP5.5 installé (j'utilise 7.1)
  • Il utilisait Apache 2.2.14 (j'utilise 2.4.18)
  • Il n'a pas été servi sur HTTPS (j'utilise un certificat LetsEncrypt valide)

Lorsque je charge la page d'accueil, j'obtiens une boucle infinie d'erreurs 303, qui semblaient au début être liées au plugin languagefilter, mais également à SEF.

SEF off and no languagefilter: Page loads, links broken
SEF off and languagefilter present: Infinite redirect loop

Je ne parviens pas à me connecter au tableau de bord de l'administrateur, je ne peux donc pas l'utiliser pour désactiver des éléments. J'ai édité le paramètre SEF dans la configuration globale et lorsqu'il est désactivé, le site s'affiche (avec le mauvais modèle).

Mon vache Apache ressemble à ceci:

<IfModule mod_ssl.c>
<VirtualHost *:443>
    DocumentRoot /var/www/html/fmjock
    ServerName fmjock.mystery.co.za
    <Directory "/var/www/html/fmjock">
        AllowOverride All
        allow from all
        Options +Indexes
   </Directory>
SSLCertificateFile /etc/letsencrypt/live/fmjock.mystery.co.za/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/fmjock.mystery.co.za/privkey.pem
Include /etc/letsencrypt/options-ssl-Apache.conf
</VirtualHost>
</IfModule>

J'ai vérifié que Apache2 respecte le fichier .htaccess et qu'il est identique à celui du serveur d'origine. Le seul fichier différent est la configuration globale dans laquelle j'ai modifié les détails de la base de données.

Edit: Cela se produit avec HTTP ou HTTPS et ce n’est pas une redirection 301 de non sécurisée à sécurisée, wget montre qu’elle renvoie 303:

root@sites-available# wget fmjock.mystery.co.za
--2017-12-14 07:50:57--  http://fmjock.mystery.co.za/
Resolving fmjock.mystery.co.za (fmjock.mystery.co.za)... 77.68.74.51
Connecting to fmjock.mystery.co.za (fmjock.mystery.co.za)|77.68.74.51|:80... 
connected.
HTTP request sent, awaiting response... 303 See other
Location: http://fmjock.mystery.co.za/en/ [following]
4
Andy

Le problème est probablement votre redirection HTTPS. Vous êtes probablement en train de rediriger vers HTTPS au début de votre .htaccess fichier, et plus tard redirigeant vers HTTP. Un autre scénario se présente lorsque votre site Web Joomla est configuré pour utiliser HTTPS, mais il existe une redirection vers HTTP dans le .htaccess fichier.

2
itoctopus

Vos problèmes peuvent être liés à un certain nombre de raisons:

  • Version PHP (Joomla 2.5 n'est pas conçu pour fonctionner sur PHP 7)
    • Essayez de configurer votre nouveau serveur sur PHP 5.6 ). Cela se fait souvent via votre cPanel ou demandez à votre fournisseur d'hébergement.
  • Erreur lors du transfert (fichiers manquants ou corrompus)
    • Essayez d'utiliser Akeeba Backup pour le transfert. La version 4.7.7 devrait fonctionner avec Joomla 2.5.
  • Ancienne version de Joomla.
  • Code non valide dans votre fichier . Htaccess.
    • Le code fonctionnant sur un serveur peut provoquer des erreurs sur un autre serveur. Essayez de renommer votre fichier .htaccess, par exemple. old.htaccess N'oubliez pas de désactiver la réécriture des URL dans votre configuration.php fichier (public $sef_rewrite = '0';)

Ce ne sont que des solutions génériques, mais c'est un bon point de départ. Je pense que la première option (version PHP) est probablement le problème, en fonction des extensions que vous avez installées.

J'espère que cela t'aides.

1
johanpw