WPML fix error 500 – Breve guida su come fixare l’errore 500 dato da WPML in alcune situazioni
Interfacciandomi con il multilingua di WordPress mi è capitato più volte di dover usare plugin come WPML (al momento è il miglior plugin per avere il multilingua su WordPress).
Su alcuni siti però mi è capitato che il frontend andasse in errore 500. Questa cosa è dovuta da alcuni plugin che richiedono il flush delle rewrite rules – flush_rewrite_rules(true) – e quindi la riscrittura del file htaccess.
Per risolvere questo problema ho trovato un link sul sito ufficiale di WPML che spiega come risolvere il fastidioso problema del RewriteBase
https://wpml.org/errata/htaccess-is-rewritten-with-language-folder
Però in situazioni in cui ci sono plugin esterni di cache o di hiding, come ad esempio Hide My WP può succedere che quelle regole non bastano, perciò dovremo aggiungere al nostro file function.php del tema o al nostro plugin personalizzato questo piccolo filtro
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);
$rules = str_replace($home_root."wp-includes/", "/wp-includes/", $rules);
$rules = str_replace($home_root."wp-content/", "/wp-content/", $rules);
$rules = str_replace($home_root."wp-admin/", "/wp-admin/", $rules);
$rules = str_replace($home_root."nothing_404_404", "/nothing_404_404", $rules);
$rules = str_replace($home_root."/index.php?", "/index.php?", $rules);
return $rules;
}
L'articolo WordPress – WPML fix error 500 con il RewriteBase sembra essere il primo su Blog WebEats.
Leggi il contenuto originale su How-To – Blog WebEats


![[Guida] Eternal Terminal: connessioni SSH persistenti su GNU/Linux](https://www.feedlinux.com/wp-content/uploads/2021/01/eternal-terminal-install-300x139.png)



