Bonjour!

j'essaye de mettre en place un système d'url-rewriting pour mon projet de fin d'année, la mise en place du fichier htaccess est ok mais j'ai un problème avec ma fonction qui me sert à réecrire les liens de mes pages

Tout se passe bien, les liens sont parfaitement réécris sauf lorsque le n° de la page est supérieur ou égale à 10, dans ce cas là, j'obtiens cette url:
testurl-1.html0 à la place de testurl-10.html

Je ne comprends pas pourquoi le deuxième chiffre se retrouve à la fin de ma chaine et j'ai eu beau retourner le problème dans tous les sens, je ne comprends pas...

Voici le code qui me permet de réécrire les liens de mes pages:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
$contents = ob_get_contents();
ob_end_clean();
 
if (preg_match_all(
    "#index.php\?page=([0-9]+)#si",
    $contents,
    $matches,
    PREG_SET_ORDER))
{
    foreach($matches as $match){
        $pattern = $match[0];
        $row_id = $match[1];
 
         //schéma de la nouvelle url: testurl-n°_de_la_page
         $new_url ="testurl-".$row_id.".html";
         $contents = str_replace($pattern, $new_url, $contents);
    }
}
echo $contents
Si quelqu'un a une explication/solution, elle est vraiment la bienvenue!!!

Le pire c'est que ca marche chez moi en local mais pas sur un serveur distant

Merci d'avance