Aller au contenu

Sujets conseillés

Posté (modifié)

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:

$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

Pour le htaccess:

RewriteRule ^testurl-([0-9]+)\.html$ index.php?page=$1 [L]

Si quelqu'un a une explication/solution, elle est vraiment la bienvenue!!!

Merci d'avance

Modifié par opti

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...