Avoir l'adresse rewritee dans la barre d'adresse

WRInaute accro
Bonjour, d'autes message du meme style sont dans le forum mais aucun ne m'a apporté la réponse que je cherche.

Mon site rewrite des url comme ça :

RewriteRule ^forum-ligue-([0-9]+)\.html$ /forum.php?div=$1 [R=301,L]

En gros ça fonctionne. Seulement l'URL qui s'affiche dans la barre d'adresse reste l'url non rewritée (sous sa forme .php?div=1 par exemple)
Voyez par vous même :
http://www.nickargall.com/forum-ligue-1.html

Or moi j'aimerais vachement que ça affiche l'URL rewritee dans la barre d'adresse du navigateur tant qu'à faire.



J'ai d'autres URL rewritees dans mon site, avec la même syntaxe dans le .htaccess, et ya que celle la qui me fait ça.

Qqun peut me renseigner ? Je vous balance le contenu de mon .htaccess avec en soulligné celle qui me pose souci :

RewriteEngine on
ErrorDocument 404 /404.html

RewriteRule ^galerie_photo-([0-9]+)-page-([0-9]+)\.html$ /photos1.php?gallerie=$1&encours=$2
RewriteRule ^sons-auteur-([0-9]+)\.html$ /sons1.php?auteur=$1
RewriteRule ^forum_([0-9]+)\.html$ /forum2.php?forum=$1
RewriteRule ^forum_([0-9]+)-page-([0-9]+)\.html$ /forum2.php?forum=$1&page=$2
RewriteRule ^forum_article-([0-9]+)-([0-9]+)\.html$ /forum_article.php?article=$1&forum=$2
RewriteRule ^forum_article-([0-9]+)-([0-9]+)-page-([0-9]+)\.html$ /forum_article.php?article=$1&forum=$2&page=$3 [R=301,L]
RewriteRule ^forum-ligue-([0-9]+)\.html$ /forum.php?div=$1 [R=301,L]
DirectoryIndex index.php[/u]

Merci de votre aide
 
WRInaute accro
Tu dois modifier ton code html pour qu'il génère les bonnes URL évidemment ;)

Là ou avant, tu avais par exemple

Code:
echo '<a href="page.php?foo='.$foo.'&bar='.$bar.'">';
>> lien vers page.php?foo=foo&bar=bar

tu dois transformer ça en

Code:
echo '<a href="'.$foo.'/'.$bar.'.html">';
>> lien vers foo/bar/html
 
WRInaute accro
HawkEye_TpfH a dit:
Tu dois modifier ton code html pour qu'il génère les bonnes URL évidemment ;)

C'est déja fait comme le dit Mr Go :)

Quant aux R=301, c'est en principe pour éviter le duplicate content avec les pages non rewritées déja indexées. (Ajouté sur les conseils trouvés dans WRI je précise ;) ) Je pense pas que ce soit ça, j'ai déja un [R=301] dans la ligne :
RewriteRule ^forum_article-([0-9]+)-([0-9]+)-page-([0-9]+)\.html$ /forum_article.php?article=$1&forum=$2&page=$3 [R=301,L]

Et là ça fonctionne. Regardez par vous même :
http://www.nickargall.com/forum_article-168-5.html

l'adresse dans la barre d'adesse est nickel ... je sèche ...
 
WRInaute accro
nickargall a dit:
Mon site rewrite des url comme ça :

RewriteRule ^forum-ligue-([0-9]+)\.html$ /forum.php?div=$1 [R=301,L]

En gros ça fonctionne. Seulement l'URL qui s'affiche dans la barre d'adresse reste l'url non rewritée
Il ne faut pas confondre ré-écriture d'URL et redirection.

Une ré-écriture d'URL est un processus interne au serveur qui remplace en interne uniquement une URL tapée par un internaute (rewritée) par l'URL réelle (non rewritée). Ceci n'implique aucune redirection:
Code:
RewriteRule ^forum-ligue-([0-9]+)\.html$ /forum.php?div=$1 [L]

Au lieu d'une ré-écriture d'URL pure et dure, on peut faire une redirection. Dans ce cas, le serveur indique au browser de l'internaute qu'il doit aller vers une autre adresse:
Code:
RewriteRule ^forum-ligue-([0-9]+)\.html$ /forum.php?div=$1 [R=301,L]

Jean-Luc
 
WRInaute impliqué
Oui pour l'url qui pose probleme, tu as une redirection 301, et dans la deuxieme il n'y en a pas. Tu dois simplement enlever la 301 qui ne sert à rien.
(je déplace ce topic dans la bonne rubrique)
 
WRInaute accro
??? je suis perdu :

RewriteRule ^forum_article-([0-9]+)-([0-9]+)-page-([0-9]+)\.html$ /forum_article.php?article=$1&forum=$2&page=$3 [R=301,L]
RewriteRule ^forum-ligue-([0-9]+)\.html$ /forum.php?div=$1 [R=301,L]

J'ai du R=301 dans les deux, la première j'obtiens ce que je veux (url rewritee dans la barre d'adresse) et pas dans la deuxième
 
WRInaute impliqué
Non tu te trompes de ligne, pour l'url qui marche, c'est cette ligne qu'il faut lire:
RewriteRule ^forum_article-([0-9]+)-([0-9]+)\.html$ /forum_article.php?article=$1&forum=$2
Et il n'y a pas de 301.
 
WRInaute accro
OUarf je comprends, je confonds en effet les 2 lignes, c juste que j'ai pas encore eu l'occasion de tester celle là:
RewriteRule ^forum_article-([0-9]+)-([0-9]+)-page-([0-9]+)\.html$ /forum_article.php?article=$1&forum=$2&page=$3 [R=301,L]
Donc en effet c'est l'autre qui fonctionne.
Mille excuses :oops:
Modification effectuée, arf ça fonctionne ... :oops: je suis têtu comme un breton :roll:

Mais ça m'amène a une autre question: comment mettre en place une redir 301 sur les vieilles url non rewritées pour éviter le duplicate content entre ces vieilles URL et les nouvelles ?
 
WRInaute accro
Ok super Merci beaucoup MR Go ;)

n'étant pas un pro des expressions régulières, je vais creuser un peu pour retranscrire mes deux rewrite pas bons en redirectmatch bons
(
RewriteRule ^forum_article-([0-9]+)-([0-9]+)-page-([0-9]+)\.html$ /forum_article.php?article=$1&forum=$2&page=$3
RewriteRule ^forum-ligue-([0-9]+)\.html$ /forum.php?div=$1
)

je les remets là au cas ou une âme charitable passe par là ... :roll:
 
Discussions similaires
Haut