Navigation überspringen

Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.

Problem:
Sie haben Server-Errors auf den IT- und EN-Versionen Ihrer Website und der Host vermutet, dass es mit WPML und der .htaccess-Datei zusammenhängt.
Lösung:
1. Öffnen Sie die Datei

/wp-content/themes/hubertus-child/functions.php

.
2. Fügen Sie den folgenden Code hinzu, den Sie auf der WPML-Fehlerbehebungsseite finden: https://wpml.org/errata/htaccess-is-rewritten-with-language-folder/

add_filter('mod_rewrite_rules', 'fix_rewritebase');
function fix_rewritebase($rules){
    $home_root = parse_url(home_url());
    if ( isset( $home_root['path'] ) ) {
        $home_root = trailingslashit($home_root['path']);
    } else {
        $home_root = '/';
    }
 
    $wpml_root = parse_url(get_option('home'));
    if ( isset( $wpml_root['path'] ) ) {
        $wpml_root = trailingslashit($wpml_root['path']);
    } else {
        $wpml_root = '/';
    }
 
    $rules = str_replace("RewriteBase $home_root", "RewriteBase $wpml_root", $rules);
    $rules = str_replace("RewriteRule . $home_root", "RewriteRule . $wpml_root", $rules);
 
    return $rules;
}

3. Speichern Sie die Änderungen und aktualisieren Sie die Permalinks in den WordPress-Einstellungen unter Einstellungen -> Permalinks.

Sollte die Lösung veraltet sein oder nicht auf Ihr Problem zutreffen, empfehlen wir Ihnen, die bekannten Probleme zu überprüfen, die Version der dauerhaften Lösung zu verifizieren und sicherzustellen, dass Sie die neuesten Versionen von Themes und Plugins installiert haben. Wenn das Problem weiterhin besteht, öffnen Sie bitte ein neues Support-Ticket im WPML-Supportforum.

Dies ist das technische Support-Forum für WPML – das mehrsprachige WordPress-Plugin.

Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team antwortet im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.

Schlagwörter: 

Dieses Thema enthält 5 Antworten, hat 2 Stimmen.

Zuletzt aktualisiert von Marcel Vor 11 Monaten, 4 Wochen.

Assistiert von: Marcel.

Verfasser Beiträge
Februar 5, 2024 unter 12:13 pm #15265948

Werner

Deutsch ist meine Ausgangssprache. Da funktioniert alles richtig.
Aber auf IT und EN hab ich dauernd Server-Errors.
Unser Host meint es häng mit WMPL (und htacess) zusammen.
Könnt ihr mir da helfen?

Februar 5, 2024 unter 5:17 pm #15267733

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+01:00)

Hallo,

haben Sie bereits die Serverlogs geprüft. Ist dort etwas dazu erkennbar?

Bezüglich .htaccess, prüfen Sie bitte, ob dies ggf. der Fall ist: https://wpml.org/errata/htaccess-is-rewritten-with-language-folder/. Sie erkennen dies sehr einfach, wenn Zusätze wie /de dort in den Rewrite Rules erscheinen.

Freundliche Grüße
Marcel

Februar 6, 2024 unter 12:51 pm #15271882

Werner

In meiner htacess steht das:

# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^en/wp-login.php /wp-login.php [QSA,L]
RewriteRule ^de/wp-login.php /wp-login.php [QSA,L]
RewriteRule ^it/wp-login.php /wp-login.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Februar 6, 2024 unter 1:45 pm #15272100

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+01:00)

Hallo,

danke für die Info. In diesem Fall sollte der Workaround unter https://wpml.org/de/forums/topic/server-error-bei-sprachenwechseln/#post-15267733 eine Lösung bringen.

Freundliche Grüße
Marcel

Februar 6, 2024 unter 1:50 pm #15272109

Werner

Kannst du mir da bitte helfen?
Blicke da nicht durch und ich müsste die Seite bald wieder zum Laufen bringen

Februar 6, 2024 unter 3:10 pm #15272557

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+01:00)

Hallo,

gerne!

#1 Öffnen Sie /wp-content/themes/hubertus-child/functions.php
#2 Fügen Sie den Code von https://wpml.org/errata/htaccess-is-rewritten-with-language-folder/ dort ein:

add_filter('mod_rewrite_rules', 'fix_rewritebase');
function fix_rewritebase($rules){
    $home_root = parse_url(home_url());
    if ( isset( $home_root['path'] ) ) {
        $home_root = trailingslashit($home_root['path']);
    } else {
        $home_root = '/';
    }
 
    $wpml_root = parse_url(get_option('home'));
    if ( isset( $wpml_root['path'] ) ) {
        $wpml_root = trailingslashit($wpml_root['path']);
    } else {
        $wpml_root = '/';
    }
 
    $rules = str_replace("RewriteBase $home_root", "RewriteBase $wpml_root", $rules);
    $rules = str_replace("RewriteRule . $home_root", "RewriteRule . $wpml_root", $rules);
 
    return $rules;
}

#3 Speichern Sie ggf. noch die WP Permalinks in den WordPress Einstellungen (Einstellungen -> Permalinks) neu ab.

Funktioniert es damit?

Freundliche Grüße
Marcel

Februar 6, 2024 unter 3:16 pm #15272564

Werner

Ihr seid der Hammer!
Danke für die schnelle professionelle Hilfe!