Question aux experts URL-RW
15 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
-

HawkEye - WRInaute accro

- Messages: 17005
- Inscription: 23 Fév 2004
Question aux experts URL-RW
Voilà, j'ai compris +/- le système, mais je suis face à un mur...
Le problème:
J'ai plusieurs pages dont l'url est sous la forme suivante (1):
-http://www.example.com/repertoire/mot%20mot%20mot.html
Via la règle RewriteRule ^repertoire/(.*).html$ index.php?mots=$1 [L], j'arrivais à exploiter le contenu de "mot%20mot%20mot%20" (puisque $mots = "mot mot mot")
Bref... Je me suis libéré des %20, et ces urls sont à présent sous la forme (2):
-http://www.example.com/repertoire/mot-mot-mot.html
-> via $mots = eregi_replace("-"," ",$mots) j'ai ce que je veux.
Mais...
Je voudrais que lorsque l'url (1) est tapée, ou cliquée sur un site qui la réfère, le visiteur soit redirigé en 301 vers la nouvelle page (2).
J'essaye les règles suivantes, sans succès:
RedirectPermanent ^repertoire/(.*)%20(.*)%20(.*).html$ repertoire/$1-$2-$3.html [L]
RewriteRule ^repertoire/(.*)%20(.*)%20(.*).html$ repertoire/$1-$2-$3.html [L]
RewriteRule ^repertoire/(.*)%20(.*)%20(.*).html$ repertoire/$1-$2-$3.html [R=301]
... y'a t'il un spécialiste dans la salle ???
Merci d'avance
Le problème:
J'ai plusieurs pages dont l'url est sous la forme suivante (1):
-http://www.example.com/repertoire/mot%20mot%20mot.html
Via la règle RewriteRule ^repertoire/(.*).html$ index.php?mots=$1 [L], j'arrivais à exploiter le contenu de "mot%20mot%20mot%20" (puisque $mots = "mot mot mot")
Bref... Je me suis libéré des %20, et ces urls sont à présent sous la forme (2):
-http://www.example.com/repertoire/mot-mot-mot.html
-> via $mots = eregi_replace("-"," ",$mots) j'ai ce que je veux.
Mais...
Je voudrais que lorsque l'url (1) est tapée, ou cliquée sur un site qui la réfère, le visiteur soit redirigé en 301 vers la nouvelle page (2).
J'essaye les règles suivantes, sans succès:
RedirectPermanent ^repertoire/(.*)%20(.*)%20(.*).html$ repertoire/$1-$2-$3.html [L]
RewriteRule ^repertoire/(.*)%20(.*)%20(.*).html$ repertoire/$1-$2-$3.html [L]
RewriteRule ^repertoire/(.*)%20(.*)%20(.*).html$ repertoire/$1-$2-$3.html [R=301]
... y'a t'il un spécialiste dans la salle ???
Merci d'avance
-

rottman - WRInaute passionné

- Messages: 2121
- Inscription: 6 Jan 2004
Essaye ça pour voir ?!
- Code: Tout sélectionner
RewriteEngine on
RewriteRule ^repertoire/(.*)%20(.*)%20(.*).html$ repertoire/$1-$2-$3.html [R=301,L]
RewriteRule ^repertoire/(.*).html index.php?mots=$1
-

HawkEye - WRInaute accro

- Messages: 17005
- Inscription: 23 Fév 2004
Merci Rottman pour ton aide à presque 1h du mat'
avec ce que tu proposes, il continue d'afficher l'URL avec les %20
En fait si ça se trouve, c'est normal...
Ce que je voudrais c'est que la page se recharge, un peu à la manière d'un redirect 301 par le header, et que la page affichée après redirect soit la page mot-mot-mot.html
(je sais pas si je suis clair là...
)
Pour te dire, j'ai même essayé ça:
.htaccess :
redirect_301.php :
rien n'y fait...
avec ce que tu proposes, il continue d'afficher l'URL avec les %20
En fait si ça se trouve, c'est normal...
Ce que je voudrais c'est que la page se recharge, un peu à la manière d'un redirect 301 par le header, et que la page affichée après redirect soit la page mot-mot-mot.html
(je sais pas si je suis clair là...
Pour te dire, j'ai même essayé ça:
.htaccess :
- Code: Tout sélectionner
^rewriterule ^repertoire/(.*)%20(.*)%20(.*).html$ redirect_301.php?redirect=$1-$2-$3
redirect_301.php :
- Code: Tout sélectionner
<?
$redirect = eregi_replace(" ","-",$redirect);
header ("HTTP/1.1 301 Moved Permanently", false, 301);
header ("Location: http://www.example.com/repertoire/".$redirect ."html");
exit();
?>
rien n'y fait...
Dernière édition par HawkEye le Mar Aoû 30, 2005 23:52, édité 1 fois.
-

rottman - WRInaute passionné

- Messages: 2121
- Inscription: 6 Jan 2004
Et ça ?
là si ça ne marche pas c'est vraiment bizarre
- Code: Tout sélectionner
RedirectPermanent ^repertoire/(.*)%20(.*)%20(.*).html$ repertoire/$1-$2-$3.html
RewriteEngine on
RewriteRule ^repertoire/(.*).html index.php?mots=$1
là si ça ne marche pas c'est vraiment bizarre
- jeroen
- WRInaute passionné

- Messages: 2455
- Inscription: 30 Aoû 2002
- Code: Tout sélectionner
RewriteRule ^repertoire/(.*)\s(.*)\s(.*)\.html$ repertoire/$1-$2-$3.html [L,R=301]
-

HawkEye - WRInaute accro

- Messages: 17005
- Inscription: 23 Fév 2004
ah waip... là ça fait quelquechose: Internal Server Error (500)
(celle de rottman... je teste l'autre now)
NB: vous postez vachement vite pour l'heure qu'il est...
Je m'arrache les cheveux...
(celle de rottman... je teste l'autre now)
NB: vous postez vachement vite pour l'heure qu'il est...
Je m'arrache les cheveux...
Dernière édition par HawkEye le Mar Aoû 30, 2005 23:56, édité 1 fois.
-

rottman - WRInaute passionné

- Messages: 2121
- Inscription: 6 Jan 2004
Le plus simple à faire et qui marcherait 100% sur c'est de seulement mettre dans ton htaccess :
et dans ta page index.php :

- Code: Tout sélectionner
RewriteEngine on
^repertoire/(.*).html$ index.php?mots=$1
et dans ta page index.php :
- Code: Tout sélectionner
<?php
if(eregi(" ",$_GET["mots"]))
{
$url_redirect = "repertoire/".eregi_replace(" ","-",$_GET["mots"]).".html";
header("HTTP/1.1 301 Moved Permanently", false, 301);
header("Location: $url_redirect");
}
else
{
.....reste de ta page.....
}
?>
-

HawkEye - WRInaute accro

- Messages: 17005
- Inscription: 23 Fév 2004
Hmm ça m'a l'air sympa ça...
Si j'intérpète correctement, tu veux vérifier si la variable $mots contient un espace, et si c'est le cas faire une 301 par le header vers /repertoire/mots.html ou les espace dans $mots sont remplacés par des tirets ?
On va voir ce que ça donne
Si j'intérpète correctement, tu veux vérifier si la variable $mots contient un espace, et si c'est le cas faire une 301 par le header vers /repertoire/mots.html ou les espace dans $mots sont remplacés par des tirets ?
On va voir ce que ça donne
-

HawkEye - WRInaute accro

- Messages: 17005
- Inscription: 23 Fév 2004
rottman,
t'as le droit de te lever à midi
Ca fonctionne, j'ai juste du corriger
Ca: $url_redirect = "repertoire/".eregi_replace(" ","-",$_GET["mots"]).".html";
par ça: $url_redirect = "http://www.example.com/repertoire/".eregi_replace(" ","-",$_GET["mots"]).".html";
(sinon je tombais dans repertoire/repertoire/)
Merci B-E-A-U-C-O-U-P !
t'as le droit de te lever à midi
Ca fonctionne, j'ai juste du corriger
Ca: $url_redirect = "repertoire/".eregi_replace(" ","-",$_GET["mots"]).".html";
par ça: $url_redirect = "http://www.example.com/repertoire/".eregi_replace(" ","-",$_GET["mots"]).".html";
(sinon je tombais dans repertoire/repertoire/)
Merci B-E-A-U-C-O-U-P !
- jeroen
- WRInaute passionné

- Messages: 2455
- Inscription: 30 Aoû 2002
Bon, j'ai un peu de retard mais je me lève...
Je crois que j'ai un peu moins "usine à gaz" :
Je crois que j'ai un peu moins "usine à gaz" :
- Code: Tout sélectionner
RewriteRule ^repertoire/(.*)[[:space:]](.*)[[:space:]](.*)\.html$ repertoire/$1-$2-$3.html [L,R=301]
-

rottman - WRInaute passionné

- Messages: 2121
- Inscription: 6 Jan 2004
Oups j'suis le dernier debout
C'est bien ça
De rien
Si j'intérpète correctement, tu veux vérifier si la variable $mots contient un espace, et si c'est le cas faire une 301 par le header vers /repertoire/mots.html ou les espace dans $mots sont remplacés par des tirets ?
C'est bien ça
Merci B-E-A-U-C-O-U-P !
De rien
-

rottman - WRInaute passionné

- Messages: 2121
- Inscription: 6 Jan 2004
jeroen a écrit:Bon, j'ai un peu de retard mais je me lève...![]()
Je crois que j'ai un peu moins "usine à gaz" :
- Code: Tout sélectionner
RewriteRule ^repertoire/(.*)[[:space:]](.*)[[:space:]](.*)\.html$ repertoire/$1-$2-$3.html [L,R=301]
Ca va etre la galère si y'a 4, 5, 6 ou 1000 mots séparés par des espaces
15 messages
• Page 1 sur 1
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 :
- Comment l'internaute utilise les moteurs de recherche
- Accord commercial entre Google et l'agence Associated Press
- Yahoo! Questions/Réponses veut développer les réseaux de connaissances
- Ce qui a changé dans l'algorithme de Google en janvier 2004
- Ranking Metrics propose désormais des audits de référencement
- Les frames et le référencement
- Tiret ou underscore ? Enfin la réponse !
- Les moteurs tiennent compte des mots-clés dans les URL
Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl
- 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
