it-swarm.com.de

Joomla 2.5.6 Endlosschleife 303 (SEF)

Ich versuche, eine Joomla 2.5.6-Site von einem Server auf einen anderen zu migrieren. Ich habe scp verwendet, um die Dateien einzeln zu kopieren, und einen mysqldump der Datenbank erstellt, damit ich sicher bin, dass der neue Server einen Klon des Codes hat.

Die Unterschiede, die ich mit dem ursprünglichen Server identifizieren kann, sind:

  • Es hatte PHP5.5 installiert (ich benutze 7.1)
  • Es verwendete Apache 2.2.14 (ich verwende 2.4.18)
  • Es wurde nicht über HTTPS bereitgestellt (ich verwende ein gültiges LetsEncrypt-Zertifikat)

Wenn ich die Homepage lade, erhalte ich eine Endlosschleife mit 303 Fehlern, die anfangs mit dem Sprachfilter-Plugin zu tun zu haben schienen, aber auch mit SEF zu tun zu haben.

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

Ich kann mich nicht beim Admin-Dashboard anmelden, daher kann ich das nicht zum Deaktivieren von Inhalten verwenden. Ich habe die SEF-Einstellung in der globalen Konfiguration bearbeitet und wenn sie deaktiviert ist, wird die Site angezeigt (mit der falschen Vorlage).

Mein Apache vhost sieht so aus:

<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>

Ich habe überprüft, dass Apache2 die .htaccess-Datei respektiert und dass sie mit der vom ursprünglichen Server identisch ist. Die einzige Datei, die sich unterscheidet, ist die globale Konfiguration, in der ich die Datenbankdetails geändert habe.

Bearbeiten: Dies passiert entweder mit HTTP oder HTTPS und es ist keine 301-Umleitung von unsicher nach sicher. Wget zeigt, dass es zurückkehrt. 303:

[email protected]# 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

Das Problem ist wahrscheinlich Ihre HTTPS-Umleitung. Sie werden wahrscheinlich am Anfang Ihrer .htaccess - Datei zu HTTPS und später zu HTTP umleiten. Ein anderes Szenario ist, wenn Ihre Joomla-Website HTTPS verwendet, die Datei .htaccess Jedoch eine Weiterleitung zu HTTP enthält.

2
itoctopus

Ihre Probleme können verschiedene Ursachen haben:

  • PHP-Version (Joomla 2.5 ist nicht für die Ausführung auf PHP 7)
    • Versuchen Sie, Ihren neuen Server auf PHP 5.6 einzustellen. Dies geschieht häufig über Ihr cPanel oder fragen Sie Ihren Hosting-Provider.
  • Fehler bei der Übertragung (fehlende oder beschädigte Dateien)
    • Versuchen Sie, Akeeba Backup für die Übertragung zu verwenden. Version 4.7.7 sollte auf Joomla 2.5 funktionieren.
  • Alte Joomla-Version.
  • Ungültiger Code in Ihrer .htaccess Datei.
    • Code, der auf einem Server ausgeführt wird, kann auf einem anderen Server zu Fehlern führen. Versuchen Sie, Ihre .htaccess-Datei in z. old.htaccess Denken Sie daran, das Umschreiben von URLs in Ihrer configuration.php - Datei zu deaktivieren (public $sef_rewrite = '0';).

Dies sind nur allgemeine Lösungen, aber es ist ein guter Ausgangspunkt. Ich denke, die erste Option (PHP-Version) ist wahrscheinlich das Problem, je nachdem, welche Erweiterungen Sie installiert haben.

Hoffe das hilft.

1
johanpw