500 Internal Server Error nach Alfahosting-bedingter Migration auf Webspace der neuen Generation

  • Joomla Version
    4.4.4
    PHP Version
    PHP 8.2.x
    Hoster
    Alfahosting (neue Tarifgeneration)
    Link (URL) zur Seite mit dem Problem
    www.ruedigerhans.de

    Hallo!

    Ich weiß, eigentlich ist für das Ändern von Joomla! 4 nach Joomla! 5 keine Migration nötig, denn es handelt sich glücklicherweise nur um ein Update. Aber Alfahosting bietet das für Joomla! 5 notwendige MySQL 8 nur in der neuen Tarifgeneration an. Und dies macht dann doch eine Migration nötig.

    Ich erhalte jetzt noch 500 Internal Server Error.

    Wie bin ich vorgegangen? Ich habe aus dem alten Webspace alle 13.196 (dreizehntausend) Dateien heruntergeladen und die Datenbank gesichert. Ein Akeeba-Backup habe ich auch sowie ein Backup nach alter Alfahosting-Art in Form von "html.tar.gz" und "mysql.tar.gz". Als Alfahosting auf den neuen Webspace umkonnektiert hatte, habe ich die Dateien dorthin hochgeladen, die Datenbank in eine MySQL 8-Datenbank importiert und dann dumm geguckt: eben 500 Internal Server Error.

    Die configuration.php ist meines Wissens gut angepasst.

    Tja, was sagt ihr?

    Grüße!

    pardon

    Hiermit beenden Sie Ihre Windows-Sitzung / OK vielleicht ABBRECHEN

  • Seit Löschung der .htaccess wird die Seite angezeigt, aber die Links funktionieren noch nicht.

    Dann steht da noch was drin, was an die neue Umgebung angepasst werden muss. Oder du arbeitest ohne .htaccess und musst dann den zweiten Haken in der SEO-Konfiguration entfernen. Besser wäre es natürlich, die htaccess anzupassen.

    Poste die .htaccess einfach mal!

    Edit: Bisher wird das SSL-Zertifikat noch nicht genutzt.

    Hinweis: In den neuen Tarifen führen sowohl mit-www als auch ohne-www in das gleiche Zielverzeichnis. Das war in den alten Tarifen noch anders.

  • Hier, bitte:

    Spoiler anzeigen

    <FilesMatch \.php$>

    SetHandler x-httpd-php8.2

    </FilesMatch>

    ##

    # @package Joomla

    # @copyright Copyright (C) 2005 - 2020 Open Source Matters. All rights reserved.

    # @license GNU General Public License version 2 or later; see LICENSE.txt

    ##

    ##

    # READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!

    #

    # The line 'Options +FollowSymLinks' may cause problems with some server configurations.

    # It is required for the use of Apache mod_rewrite, but it may have already been set by

    # your server administrator in a way that disallows changing it in this .htaccess file.

    # If using it causes your site to produce an error, comment it out (add # to the

    # beginning of the line), reload your site in your browser and test your sef urls. If

    # they work, then it has been set by your server administrator and you do not need to

    # set it here.

    ##

    ## No directory listings

    <IfModule autoindex>

    IndexIgnore *

    </IfModule>

    ## Suppress mime type detection in browsers for unknown types

    <IfModule mod_headers.c>

    Header always set X-Content-Type-Options "nosniff"

    </IfModule>

    ## Can be commented out if causes errors, see notes above.

    Options +FollowSymlinks

    Options -Indexes

    ## Mod_rewrite in use.

    RewriteEngine On

    ## Begin - Rewrite rules to block out some common exploits.

    # If you experience problems on your site then comment out the operations listed

    # below by adding a # to the beginning of the line.

    # This attempts to block the most common type of exploit `attempts` on Joomla!

    #

    # Block any script trying to base64_encode data within the URL.

    RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]

    # Block any script that includes a <script> tag in URL.

    RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]

    # Block any script trying to set a PHP GLOBALS variable via URL.

    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

    # Block any script trying to modify a _REQUEST variable via URL.

    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

    # Return 403 Forbidden header and show the content of the root home page

    RewriteRule .* index.php [F]

    #

    ## End - Rewrite rules to block out some common exploits.

    ## Begin - Custom redirects

    #

    # If you need to redirect some pages, or set a canonical non-www to

    # www redirect (or vice versa), place that code here. Ensure those

    # redirects use the correct RewriteRule syntax and the [R=301,L] flags.

    #

    ## End - Custom redirects

    ##

    # Uncomment the following line if your webserver's URL

    # is not directly related to physical file paths.

    # Update Your Joomla! Directory (just / for root).

    ##

    # RewriteBase /

    ## Begin - Joomla! core SEF Section.

    #

    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    #

    # If the requested path and file is not /index.php and the request

    # has not already been internally rewritten to the index.php script

    RewriteCond %{REQUEST_URI} !^/index\.php

    # and the requested path and file doesn't directly match a physical file

    RewriteCond %{REQUEST_FILENAME} !-f

    # and the requested path and file doesn't directly match a physical folder

    RewriteCond %{REQUEST_FILENAME} !-d

    # internally rewrite the request to the index.php script

    RewriteRule .* index.php [L]

    #

    ## End - Joomla! core SEF Section.

    SSL-Zertifikat... Ja, das stimmt. Habe es eben per Ticket beantragt.

    Hiermit beenden Sie Ihre Windows-Sitzung / OK vielleicht ABBRECHEN

  • Entferne die # vor RewriteBase / und setze die ersten 3 Zeilen als Kommentar bzw. lösche sie. Die PHP-Version wird für jede (Sub)Domain einzeln in CloudPit eingestellt.

    Was mit gerade noch einfällt: Für Subdomains muss man SSL noch über ein Ticket aktivieren lassen. Das geht nicht automatisch über CloudPit, es sei denn, sie haben das in letzter Zeit geändert. Bin gerade am überlegen, ob das auch www betraf. Nur so als Tipp, falls es diesbezüglich Probleme geben sollte,

    Und wenn die Seite angezeigt wird, jedoch aber kein css und js geladen wird, dann liegt es am unteren Block (GZIP) in der .htaccess. Da wäre dann was als Kommentar zu setzen.

  • JoomlaWunder :

    Habe ich gemacht.

    Wir sprechen doch von der .htaccess und nicht von der htaccess.txt

    ?

    Ja, die htaccess.txt ist ja auch nur eine reine Textdatei ohne Funktion. Die .htaccess hingegen wird vom Server abgearbeitet.

    Und nimm den Inhalt aus der originale htaccess.txt! Du nutzt einen alten Inhalt.

    Setze auch hier eine # davor, obwohl das glaube ich nicht nötig wäre:

    # Options +FollowSymLinks

  • Habe ich gemacht. Aber, Moment, der Inhalt der htaccess.txt ist doch auch alt?

    Lade dir am besten das originale Joomla-ZIP deiner verwendeten Version herunter, entpacke es und schau dir da die htaccess.txt an!

    Und sobald das SSL-Zertfikat zur Verfügung steht, musst weitere 2-3 Zeilen in die .htaccess einfügen oder aber du aktiviert "SSL erwingen" im Backend in der Joomla-Konfiguration. Ich mache das immer über die htaccess.

    Nun muss ich fernsehen gehen. ;)

  • Die .htaccess auf meinem Webspace enthält jetzt den Inhalt einer htaccess.txt aus einem soeben downgeloadeten Joomla 4.4.4 Paketes.

    Was für Zeilen? Welchen Inhalts?

    Ins Backend komme ich ja noch nicht.

    Hiermit beenden Sie Ihre Windows-Sitzung / OK vielleicht ABBRECHEN

  • Seit Löschung der .htaccess wird die Seite angezeigt, aber die Links funktionieren noch nicht.

    Dann musst du im BE noch URL-Rewrite auf Nein stellen, wenn es jetzt immer noch nicht funktioniert.

    Was für Zeilen? Welchen Inhalts?

    Ich trage diese Zeilen noch zusätzlich ein:

    Apache Configuration
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www.example.com$
    RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

    Warum aber die Seite mit der .htaccess nicht läuft, weiß ich nach den all hier genannten Lösungen nicht.