it-swarm.com.de

htaccess Problem nach dem Speichern der Einstellungen

Ich habe ein sehr seltsames Problem mit WordPress. Ich habe die Website mit dem Duplicator-Plugin von einer Domain auf eine andere übertragen.

Alles funktioniert einwandfrei, aber wenn ich etwas an den Einstellungen ändere und diese speichere und dann zur Website oder zu einzelnen Seiten gehe, wird diese Seite auf meinen Computer heruntergeladen.

Wenn meine Website beispielsweise example.com lautet, nachdem ich diese Seite aufgerufen habe, wird die Datei unter dem Namen example.com auf meinen Computer heruntergeladen (.com ist die Erweiterung der Datei).

Wenn ich eine .htacces-Datei lösche, kann ich wieder auf die Hauptseite zugreifen, aber andere Permalinks funktionieren nicht.

Ich habe versucht, .htacces mit dem Standard zu ändern, der auf der Wordpress-Webseite angegeben ist, und alles funktioniert gut, bis ich etwas in den Einstellungen ändere und es erneut speichere.

Ich habe versucht, Wordpress über wp-admin/update-core.php neu zu installieren. Bei der Neuinstallation hat alles geklappt, aber das Problem ist immer noch da.

Nachdem ich die Einstellungen gespeichert habe, bleibt mein htaccess bis auf eine Zeile unverändert:

AddHandler application/x-httpd-php70 .php

welches am Anfang hinzugefügt wird:

# BEGIN WordPress
AddHandler application/x-httpd-php70 .php
<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

Nachdem ich diese Zeile manuell gelöscht habe, funktioniert alles wieder, bis ich die Einstellungen wieder speichere. Nur zur Information, meine aktuelle PHP-Version ist 7.1. Ich habe versucht, es in cPanel auf 7.0 umzustellen, aber das hat auch nicht geholfen.

Hat jemand eine Idee woran das liegen könnte und wie man es löst?

5
eklisiarh

Ok, ich habe das herausgefunden und gebe eine Antwort nur für den Fall, dass jemand anderes dieses Problem hat.

Das Problem lag in dem Plugin, das für die ursprüngliche automatische Installation von Wordpress über Mojo Marketplace verwendet wurde.

Der Name des Plugins war Endurance PHP Edge und es befand sich nicht im normalen Plugin-Ordner, sodass es nicht deaktiviert werden konnte. Dieses Plugin wird verwendet, um die PhP-Version nach dem Speichern in der htaccess-Datei einzurichten. Es sieht aus wie das:

    if ( ! defined( 'WPINC' ) ) { die; }

define( 'EPE_VERSION', 0.1 );

if ( ! class_exists( 'Endurance_PHP_Edge' ) ) {
    class Endurance_PHP_Edge {
        function __construct() {
            $this->hooks();
        }

        function hooks() {
            add_filter( 'mod_rewrite_rules', array( $this, 'htaccess_contents' ), 99 );
        }

        function htaccess_contents( $rules ) {
            if ( file_exists( '/opt/cpanel/ea-php70/root/usr/bin/php-cgi' ) ) {
                $default_handler = 'application/x-httpd-ea-php70';
            } else {
                $default_handler = 'application/x-httpd-php70';
            }

            $handler = get_option( 'epe_php_handler', $default_handler );
            $handler = 'AddHandler ' . $handler . ' .php' . "\n";
            return $handler . $rules;
        }
    }
    $ebc = new Endurance_PHP_Edge;
}

und dies fügte diese Zeile in meine .htaccess-Datei hinzu.

Warum diese Zeile dazu führt, dass jede Seite heruntergeladen wird, kann ich nicht verstehen.

Die Lösung bestand darin, einfach den Ordner mu-plugins zu löschen, der sich im Ordner wp-content befindet.

6
eklisiarh