Problème de réécriture de lien

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

blaize21
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 7 Mar 2007

Problème de réécriture de lien

Message le Mer Mar 07, 2007 15:39

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: Tout sélectionner
$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:

Code: Tout sélectionner
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

blaize21
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 7 Mar 2007

Message le Mer Mar 07, 2007 16:30

J'ai bien trouvé quelqu'un qui a rencontré le même problème:

http://www.herve-thouzard.com/modules/n ... st_id=2173

C'est un utilisateur de xoops mais je vois pas trop comment ca peut m'aider à réecrire mes liens correctement...

blaize21
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 7 Mar 2007

Message le Mer Mar 07, 2007 18:47

Je crois avoir compris d'où vient le problème!

Il vient de l'utilisation des expressions régulières dans mon preg_match_all!

Par contre, je ne vois pas trop comment m'en sortir:

-> "#index.php\?page=([0-9]+)#si" ---> réecriture correcte des liens de la page 1 à 9

-> "#index.php\?page=([0-9][0-9]+)#si" ---> réecriture correcte des liens de la page 10 à 19 (mais des 9 premières)

Comment faire pour que toute suite de nombres soit pris en compte???

Sachant que "#index.php\?page=(.*)#si" ou "#index.php\?page=([0-9].*)#si" ne fonctionnent pas correctement...

A s'arracher les cheveux...


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Test de lien (type de redirection)
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
  • Calcul du taux de liens vers des pages internes
    Cet outil vous permet de calculer le taux de liens profonds vers un site web. Un lien profond est un lien qui ne pointe pas vers la page d'accueil mais au contraire vers une page interne du site. Les sites dont l'essentiel du référencement vient de leurs inscriptions dans des annuaires ont un taux de liens profonds faible ; à l'inverse, les sites de référence ont souvent un taux de liens profonds plus important, signe que leur contenu a suscité de nombreux liens spontanés.
  • Recherche de citations d'un site en texte brut
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités