WordPress a une mauvaise habitude : si vous allez Ă  la racine de votre blog en tapant http://www.example.com/index.php, il vous redirigera vers http://www.example.com/ . De mĂȘme http://www.example.com/index.php?cat=1 est redirigĂ© vers http://www.example.com/?cat=1 .

En gĂ©nĂ©ral c’est une bonne chose : tout le monde s’en fout, l’URL est plus petite et personne n’a besoin de savoir que votre site est en PHP.

Par contre si vous avez un fichier index.html c’est trĂšs gĂȘnant : impossible de visiter votre blog, on retombe toujours vers index.html puisque c’est la page par dĂ©faut sur la plupart des serveurs.

Donc voici comment faire pour forcer l’utilisation de index.php dans les URL :

Fichier wp-includes/link-template.php ligne 1869

    $url .= '/' . ltrim( $path, '/' );

devient

    $url .= '/' . ltrim( 'index.php'.$path, '/' );

Fichier wp-includes/canonical.php ligne 58

//$original['path'] = preg_replace('|/index.php$|', '/', $original['path']);

devient

$original['path'] = preg_replace('|/index.php$|', '/', $original['path']);