FORKS 50303 - ReecritureAdresse
Forks 50303 - ReecritureAdresse :
J'ai relevé des problèmes si j'active la rééciture d'adresses dans config générale, sur un site installé sur un sous-répertoire. Après analys des problèmes, il s'avère que:
- Dans le htaccess, la clause RewriteBase doit contenir le nom des sous-répertoires : /rep1/rep2/ si le site est http://monsite/rep1/rep2/.
- Si le .htaccess est modifié manuellement et qu'ensuite, on inactive la reécriture d'adresse dans config générale, le htaccess, n'est pas modifié, ce qui fait que, à l'activation suivante, on a 2 fois les règles.
Il faut modifier la fonction setURLrewriting du fichier /inc/functions.php comme suit:
Remplacer la ligne 2448 $stop = '# URL rewriting'.chr(13).chr(10); par $stop = '# URL rewriting'; ajouter après 2454 $base = substr($site[3],strpos($site[3],'/',8)); // pour les sites en sous-répertoire $uheader[5] = (strpos($uheader[5],'RewriteBase') !== FALSE) ? 'RewriteBase '.$base.chr(13).chr(10) : $uheader[5]; remplacer la ligne 2493 if (!in_array($stop, $htaccess)) break; par foreach ($htaccess as $hta) if (str_replace(chr(13),'',str_replace(chr(10),'',$hta)) != $stop) break; remplacer la ligne 2496 if ($hta != $stop) $st .= $hta; else break; par if (str_replace(chr(13),'',str_replace(chr(10),'',$hta)) != $stop) $st .= $hta; else break;
Dans cette version, le fork est installé dans l'admin du plugin CPL_commun, via la fonction cpl_fork (voir la doc du plugin).
Date de création : 02/07/2020 - 17:52
Dernière modification : 03/07/2020 - 10:15
Catégorie : - FORKS 50303
Page lue 316 fois