URL Rewriting et ancres html : incompatibilité ?

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

sunnmagic
WRInaute impliqué
WRInaute impliqué
 
Messages: 274
Inscription: Mar Juin 14, 2005 14:12

URL Rewriting et ancres html : incompatibilité ?

Message le Mer Aoû 24, 2005 8:42

Bonjour à tous,

Voilà, j'ai une petite question.

Mon site comporte quelques pages contenant des ancres html permettant d'atteindre une zone de la page instantanément, avec un lien de la forme index.php?page=page1#ancre1

Cependant, lorsque je souhaite convertir cette adresse en url rewriting, l'ancre ne fonctionne plus, je tombe sur la bonne page "page1", mais elle ne descend pas sur l'ancre "ancre1". Voici la "formule" que j'emploie :

Code: Tout sélectionner
RewriteRule ^page1\/([0-9a-z]+)\.html$ index.php?page=page1#$1 [L]


Merci d'avance !!


Borower
WRInaute accro
WRInaute accro
 
Messages: 2151
Inscription: Lun Avr 18, 2005 20:58

Message le Mer Aoû 24, 2005 9:21

Essai ceci:

Code: Tout sélectionner
RewriteRule ^page1.html#([0-9a-z]+)$ index.php?page=page1#$1 [L]

Mais je sais pas si cela marhe

sunnmagic
WRInaute impliqué
WRInaute impliqué
 
Messages: 274
Inscription: Mar Juin 14, 2005 14:12

Message le Mer Aoû 24, 2005 9:57

Ca marche !! merci beaucoup !

Par contre, il fallait juste mettre ^page1\.html#([0-9a-z]+)$ au lieu de ^page1.html#([0-9a-z]+)$ pour que cela fonctionne ;)

Merci !!


Borower
WRInaute accro
WRInaute accro
 
Messages: 2151
Inscription: Lun Avr 18, 2005 20:58

Message le Mer Aoû 24, 2005 10:46

Oki sunnmagic
Je sais jamais quand il faut mettre le \.
Mais bon si cela marche tans mieux.
N'hesite pas a demander.
++

jeroen
WRInaute accro
WRInaute accro
 
Messages: 2384
Inscription: Ven Aoû 30, 2002 13:35

Message le Mer Aoû 24, 2005 11:14

Borower a écrit:Oki sunnmagic
Je sais jamais quand il faut mettre le \.
++

La première partie de ta regle utilise les REGEX.
le . signifie n'importe quel caractère
le \ permet d'échapper un caractère spécial : \. signifie le point

index.php > index.php correspond, mais aussi indexaphp, indexbphp, ...
index\.php > seul index.php correspond

Cordialement,


Borower
WRInaute accro
WRInaute accro
 
Messages: 2151
Inscription: Lun Avr 18, 2005 20:58

Message le Mer Aoû 24, 2005 13:31

Merci jeroen
Je ne le savais pas maintenant c'est tres claire dans ma tete.
Merci encore


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Mer Aoû 24, 2005 14:54

sunnmagic a écrit:Ca marche !! merci beaucoup !

Par contre, il fallait juste mettre ^page1\.html#([0-9a-z]+)$ au lieu de ^page1.html#([0-9a-z]+)$ pour que cela fonctionne ;)

Merci !!
Non mais attends, c'est absolument impossible que ça marche ça, ou alors je mange mon chapeau.

On peut voir le reste de ton .htaccess stp ? :roll:


Borower
WRInaute accro
WRInaute accro
 
Messages: 2151
Inscription: Lun Avr 18, 2005 20:58

Message le Mer Aoû 24, 2005 15:32

Pourquoi Dj_Apx cela ne marcherai pas ?
C'est bien le systeme des ancres HTML ?
La je ne te comprend pas!


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Mer Aoû 24, 2005 16:26

le serveur ne sait rien de l'ancre html demandée, il connait l'url jusqu'à la fin du QSA (?truc=bidule) mais le navigateur ne lui demande pas #ancre.
Donc mettre un # dans une règle de réécriture est incorrect.
C'est pourquoi j'ai demandé à voir le reste du .htaccess

sunnmagic
WRInaute impliqué
WRInaute impliqué
 
Messages: 274
Inscription: Mar Juin 14, 2005 14:12

Message le Mer Aoû 24, 2005 17:34

Voici un extrait de mon .htaccess :

Code: Tout sélectionner
RewriteRule ^liens\.html#([0-9a-z]+)$ index.php?page=liens#$1&menu=m_div [L]
RewriteRule ^liens\.html$ index.php?page=liens&menu=m_div [L]
RewriteRule ^contact\.html$ index.php?page=contact&menu=m_div [L]
RewriteRule ^especes-menacees\.html$ index.php?page=menace&menu=m_div [L]


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Mer Aoû 24, 2005 20:04

(je l'aurais parié).
Alors :
  1. La première ligne n'est jamais exécutée, à cause de ce que j'ai expliqué, donc tu peux la supprimer, tout fonctionnera pareil.
  2. #1&menu=m_div ça ne veut rien dire. pourquoi ? parce que ta page php ne pourrait pas interpréter $_GET['menu']. elle recevrait page=liens. et ensuite le navigateur chercherait une ancre nommée "1&menu=m_div".

sunnmagic
WRInaute impliqué
WRInaute impliqué
 
Messages: 274
Inscription: Mar Juin 14, 2005 14:12

Message le Ven Aoû 26, 2005 10:56

Bonjour,

Je peux t'assurer que cela fonctionne AVEC cette ligne.

Je t'invite à visiter la page suivante pour le vérifier :

http://www.aquaryus.com/aquariophilie/algues.html

Tu verras le lien vers les ancres en haut "ALGUE BLEUE - ALGUE ROUGE - ALGUE VERTE - ALGUE DE GRAVIER"


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 :

  • Analyse des backlinks
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • 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