URL Rewriting problème de la présence de variables

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

imados
Nouveau WRInaute
 
Messages: 24
Inscription: Mar Déc 25, 2007 15:24

URL Rewriting problème de la présence de variables

Message le Dim Jan 04, 2009 15:31

Salut ,

j'ai un petit problème concernant URL Rewriting en cas de la présence de variables

j'ai testé dans fichier normale genre

test.php en test.html avec ce code ça marche bien

Code: Tout sélectionner

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^test\.html$  /test.php [L]


maintenant le problème c'est au niveau de la présence des de variables dans lien
genre

test.php?id=13&titre=testtitre

lorsque j'ai écrit ce code



Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^test_([0-9]+)_([0-9]+)\.html
/test.php?id=$1&titre=$2  [L]


ça marche pas et il m'affiche cette erreur


Code: Tout sélectionner
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@monsite.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.



merci


Tilt
WRInaute passionné
WRInaute passionné
 
Messages: 818
Inscription: Sam Mar 26, 2005 11:48

Re: URL Rewriting problème de la présence de variables

Message le Dim Jan 04, 2009 16:17

imados a écrit:
Code: Tout sélectionner

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^test\.html$  /test.php [L]

Tu pourrais essayer comme ceci :
Code: Tout sélectionner

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^test\.html$  /test.php [QSA,L]


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Dim Jan 04, 2009 17:51

rewriterule doit être sur une seule ligne :
Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^test_([0-9]+)_([0-9]+)\.html$ /test.php?id=$1&titre=$2  [L]

imados
Nouveau WRInaute
 
Messages: 24
Inscription: Mar Déc 25, 2007 15:24

Message le Dim Jan 04, 2009 18:58

webmasterlamogere a écrit:rewriterule doit être sur une seule ligne :
Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^test_([0-9]+)_([0-9]+)\.html$ /test.php?id=$1&titre=$2  [L]


oui effectivement webmasterlamogere c'est la cause de ce problème :)

mais il y a une petite chose que j'ai pas compris dans ma page index.php

ça ne n'actualise pas j'ai encore le lien sous forme de id et titre

mais si je tape le lien sous forme de test_13_testtitre.html ça marche

que dois-je faire pour pour le lien qui fait appel à test.php?id=13&titre=testtitre

merci


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Dim Jan 04, 2009 19:38

il faut modifier les liens sur tes pages pour mettre la forme réécrite.
Si l'ancienne forme est indexé il faut en plus faire une redirection 301 pour ne pas perdre le référencement comme indiqué ici : -http://www.urlrewriting.fr/article-08,07,17,Eti@-Redirection-9.html

imados
Nouveau WRInaute
 
Messages: 24
Inscription: Mar Déc 25, 2007 15:24

Message le Dim Jan 04, 2009 19:55

webmasterlamogere a écrit:il faut modifier les liens sur tes pages pour mettre la forme réécrite.
Si l'ancienne forme est indexé il faut en plus faire une redirection 301 pour ne pas perdre le référencement comme indiqué ici : -http://www.urlrewriting.fr/article-08,07,17,Eti@-Redirection-9.html


merci webmasterlamogere

j'ai lus l'article très intéressant

voici mon cas j'ai 2 variable en lien id et titre

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{QUERY_STRING} ^id=(.*)&titre(.*)$
RewriteRule ^football_([0-9]+)_([a-zA-Z0-9-]+)\.html$  /video.php?id=$1&titre=$2 [R=301,L]


ça marche pas comme ça :!:

je sais pas pourquoi

merci


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Dim Jan 04, 2009 20:18

c'était pas loin ;)
Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^football_([0-9]+)_([0-9]+)\.html$ /video.php?id=$1&titre=$2&stop  [L]
RewriteCond %{QUERY_STRING} ^id=([^&]*)&titre([^&]*)$
RewriteRule ^video\.php$  /football_%1_%2.html? [R=301,L]

imados
Nouveau WRInaute
 
Messages: 24
Inscription: Mar Déc 25, 2007 15:24

Message le Dim Jan 04, 2009 20:57

merci webmasterlamogere :wink:

avec quelque modification ça marche maintenant
voici le code final

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^football_([0-9]+)_([a-zA-Z0-9-]+)\.html$ /video.php?id=$1&titre=$2&stop  [L]
RewriteCond %{QUERY_STRING} ^id=([^&]*)&titre=([^&]*)$
RewriteRule ^video\.php$  /football_%1_%2.html? [R=301,L]


il y'a juste une petite question que je n'ai pas compris

j'ai une page index.php et video.php

dans la page index.php j'affiche une liste des vidéo à partir d'une base de donnée

sur la page index.php il y'a des liens qui amènent aux vidéos de la page video.php s'affiche sous forme

www.monsite.com/video.php?id=13&titre=testtitre

et lorsque je clique sur le lien , ce dernier change en

www.monsite.com/football_13_testtitre.html

je pense normalement que sur la page index.php le lien devrait être comme ça

www.monsite.com/football_13_testtitre.html

merci :wink:


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Dim Jan 04, 2009 21:37

il faut changer tous les liens pointant vers les pages avec url réécrite. ca va éviter de la charge serveur inutile.

imados
Nouveau WRInaute
 
Messages: 24
Inscription: Mar Déc 25, 2007 15:24

Message le Dim Jan 04, 2009 22:09

webmasterlamogere a écrit:il faut changer tous les liens pointant vers les pages avec url réécrite. ca va éviter de la charge serveur inutile.


je pense que vous m'avez pas bien compris ou je me suis mal exprimés

j'ai une seul page ou il y'a le passage de variables c'est video.php
et le lien pour accéder à cette page c'est la page d'accueil de index.php

donc sur la page index.php j'ai le code suivant qui fait amène au lien video.php sur le clique de lire la suite...

Code: Tout sélectionner
<a href='./video.php?id=$idn&amp;titre=$idn3'>Lire la suite</a>


donc maintenant il m'affiche

Code: Tout sélectionner
www.monsite.com/video.php?id=13&titre=testtitre


mais des que je clique sur lien il change à

Code: Tout sélectionner
www.monsite.com/football_13_testtitre.html


donc je sais pas comment contourner ce problème pour que aussi dans la page accueil index.php m'affiche

Code: Tout sélectionner
www.monsite.com/football_13_testtitre.html


merci


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Dim Jan 04, 2009 22:15

je confirme : il faut modifier le code html de tous les liens pointant vers video.php?id=... pour mettre les nouveaux liens.
il faut donc modifier la page index.php pour construire le href différement

imados
Nouveau WRInaute
 
Messages: 24
Inscription: Mar Déc 25, 2007 15:24

Message le Dim Jan 04, 2009 23:05

merci webmasterlamogere j'ai pu résoudre le problème comme vous m'aviez dit :wink:


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 :

  • Calcul du nombre de 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.


Qui est en ligne

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