web-dev-qa-db-fra.com

problème htaccess après l'enregistrement des paramètres

J'ai un problème très étrange avec WordPress. J'ai transféré le site Web d'un domaine à un autre avec l'utilisation du plugin Duplicator.

Tout fonctionne correctement, mais lorsque je modifie quelque chose dans les paramètres et que je les enregistre, puis que je vais sur le site Web ou sur des pages individuelles, cette page est téléchargée sur mon ordinateur.

Par exemple, si mon site Web est exemple.com après avoir accédé à cette page, le fichier est téléchargé sur mon ordinateur sous le nom exemple.com (.com est l'extension du fichier).

Si je supprime le fichier .htacces, je peux accéder à nouveau à la page principale mais les autres liens permanents ne fonctionnent pas.

J'ai essayé de changer .htacces avec celui par défaut indiqué sur la page Web Wordpress et tout fonctionne bien jusqu'à ce que je modifie quelque chose dans les paramètres et que je l'enregistre à nouveau.

J'ai essayé de réinstaller Wordpress via wp-admin/update-core.php. Tout s'est bien passé avec la réinstallation mais le problème est toujours là.

Après avoir sauvegardé les paramètres, mon htaccess reste le même sauf une ligne:

AddHandler application/x-httpd-php70 .php

qui est ajouté au début:

# 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

Après avoir supprimé cette ligne manuellement, tout fonctionne à nouveau jusqu'à ce que je sauvegarde à nouveau les paramètres. Juste pour information, ma version actuelle de php est 7.1. J'ai essayé de le changer dans cPanel à 7.0 mais cela n'a pas non plus aidé.

Quelqu'un a une idée de ce que cela pourrait être et comment le résoudre?

5
eklisiarh

Ok, j'ai compris cela et je réponds au cas où quelqu'un d'autre aurait eu ce problème.

Le problème provenait du plug-in utilisé lors de l'installation automatique initiale de Wordpress effectuée via Mojo Marketplace.

Le nom du plug-in était Endurance PHP Edge et il ne figurait pas dans le dossier du plug-in normal et ne pouvait donc pas être désactivé. Ce plugin est utilisé afin d’installer la version de PhP dans le fichier htaccess après l’avoir sauvegardé. Cela ressemble à ceci:

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

et cela ajoutait cette ligne dans mon fichier .htaccess.

Pourquoi cette ligne provoque le téléchargement de chaque page dépasse ma compréhension.

La solution consistait simplement à supprimer le dossier mu-plugins qui se trouve dans le dossier wp-content .

6
eklisiarh