|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
HawkEye Modérateur

Inscrit le: 23 Fév 2004 Messages: 12367 Localisation: Google
|
Posté le : Mer Aoû 31, 2005 0:19 Sujet du message: 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  |
|
| |
|
 |
rottman WRInaute accro

Inscrit le: 06 Jan 2004 Messages: 2096
|
Posté le : Mer Aoû 31, 2005 0:41 Sujet du message: Question aux experts URL-RW |
|
|
Essaye ça pour voir ?!
| Code: |
RewriteEngine on
RewriteRule ^repertoire/(.*)%20(.*)%20(.*).html$ repertoire/$1-$2-$3.html [R=301,L]
RewriteRule ^repertoire/(.*).html index.php?mots=$1
|
|
|
| |
|
 |
HawkEye Modérateur

Inscrit le: 23 Fév 2004 Messages: 12367 Localisation: Google
|
Posté le : Mer Aoû 31, 2005 0:48 Sujet du message: Question aux experts URL-RW |
|
|
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 :
| Code: |
^rewriterule ^repertoire/(.*)%20(.*)%20(.*).html$ redirect_301.php?redirect=$1-$2-$3
|
redirect_301.php :
| Code: |
<?
$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 Mer Aoû 31, 2005 0:52; édité 1 fois |
|
| |
|
 |
rottman WRInaute accro

Inscrit le: 06 Jan 2004 Messages: 2096
|
Posté le : Mer Aoû 31, 2005 0:51 Sujet du message: Question aux experts URL-RW |
|
|
Et ça ?
| Code: |
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 accro

Inscrit le: 30 Aoû 2002 Messages: 2268
|
Posté le : Mer Aoû 31, 2005 0:54 Sujet du message: Question aux experts URL-RW |
|
|
| Code: |
| RewriteRule ^repertoire/(.*)\s(.*)\s(.*)\.html$ repertoire/$1-$2-$3.html [L,R=301] |
 |
|
| |
|
 |
HawkEye Modérateur

Inscrit le: 23 Fév 2004 Messages: 12367 Localisation: Google
|
Posté le : Mer Aoû 31, 2005 0:55 Sujet du message: Question aux experts URL-RW |
|
|
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...
Dernière édition par HawkEye le Mer Aoû 31, 2005 0:56; édité 1 fois |
|
| |
|
 |
jeroen WRInaute accro

Inscrit le: 30 Aoû 2002 Messages: 2268
|
Posté le : Mer Aoû 31, 2005 0:56 Sujet du message: Question aux experts URL-RW |
|
|
| HawkEye_TpfH a écrit: |
ah waip... là ça fait quelquechose: Internal Server Error (500)
Je m'arrache les cheveux... |
a qui tu répondais là ?? |
|
| |
|
 |
HawkEye Modérateur

Inscrit le: 23 Fév 2004 Messages: 12367 Localisation: Google
|
Posté le : Mer Aoû 31, 2005 0:57 Sujet du message: Question aux experts URL-RW |
|
|
à rottman
mais ta solution ne change rien non plus...  |
|
| |
|
 |
HawkEye Modérateur

Inscrit le: 23 Fév 2004 Messages: 12367 Localisation: Google
|
Posté le : Mer Aoû 31, 2005 0:59 Sujet du message: Question aux experts URL-RW |
|
|
bon... je vais aller me coucher... j'en peux plus...
le premier qui trouve gagne... euh... chépa encore quoi mais il le gagne, promis
merci jeroen !
merci rottman ! |
|
| |
|
 |
rottman WRInaute accro

Inscrit le: 06 Jan 2004 Messages: 2096
|
Posté le : Mer Aoû 31, 2005 1:21 Sujet du message: Question aux experts URL-RW |
|
|
Le plus simple à faire et qui marcherait 100% sur c'est de seulement mettre dans ton htaccess :
| Code: |
RewriteEngine on
^repertoire/(.*).html$ index.php?mots=$1 |
et dans ta page index.php :
| Code: |
<?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 Modérateur

Inscrit le: 23 Fév 2004 Messages: 12367 Localisation: Google
|
Posté le : Mer Aoû 31, 2005 8:56 Sujet du message: Question aux experts URL-RW |
|
|
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  |
|
| |
|
 |
HawkEye Modérateur

Inscrit le: 23 Fév 2004 Messages: 12367 Localisation: Google
|
Posté le : Mer Aoû 31, 2005 9:18 Sujet du message: Question aux experts URL-RW |
|
|
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 ! |
|
| |
|
 |
jeroen WRInaute accro

Inscrit le: 30 Aoû 2002 Messages: 2268
|
Posté le : Mer Aoû 31, 2005 10:07 Sujet du message: Question aux experts URL-RW |
|
|
Bon, j'ai un peu de retard mais je me lève...
Je crois que j'ai un peu moins "usine à gaz" :
| Code: |
| RewriteRule ^repertoire/(.*)[[:space:]](.*)[[:space:]](.*)\.html$ repertoire/$1-$2-$3.html [L,R=301] |
|
|
| |
|
 |
rottman WRInaute accro

Inscrit le: 06 Jan 2004 Messages: 2096
|
Posté le : Mer Aoû 31, 2005 11:38 Sujet du message: Question aux experts URL-RW |
|
|
Oups j'suis le dernier debout
| Citation: |
| 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
| Citation: |
| Merci B-E-A-U-C-O-U-P ! |
De rien  |
|
| |
|
 |
rottman WRInaute accro

Inscrit le: 06 Jan 2004 Messages: 2096
|
Posté le : Mer Aoû 31, 2005 11:46 Sujet du message: Question aux experts URL-RW |
|
|
| 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: |
| 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  |
|
| |
|
 |
| |
|
|