Problème %20 lié aux espaces
15 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
-

bradeux - WRInaute occasionnel

- Messages: 390
- Inscription: 18 Mai 2005
Problème %20 lié aux espaces
Salut à tous !
Bon voila je sait que le sujet à déjà été abordé, mé je n'é rien trouV pour résoudre mon pb : j'aimerai supprimer les %20 qui s'affiche à la place des espaces.
Ex : http://www.bradeux.com/137-L'Exorciste en dvd.html
J'ai créé une régle comme ceci :
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([0-9]+)-(.*)\.html$ /product_desc.php?id=$1 [L]
Par la même occasion, si vous pouviez me dire le caractère remplacant le %20 le mieux capter par les robots de google !!! ca serait cool !
Merci d'avance à tous
Bon voila je sait que le sujet à déjà été abordé, mé je n'é rien trouV pour résoudre mon pb : j'aimerai supprimer les %20 qui s'affiche à la place des espaces.
Ex : http://www.bradeux.com/137-L'Exorciste en dvd.html
J'ai créé une régle comme ceci :
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([0-9]+)-(.*)\.html$ /product_desc.php?id=$1 [L]
Par la même occasion, si vous pouviez me dire le caractère remplacant le %20 le mieux capter par les robots de google !!! ca serait cool !
Merci d'avance à tous
-

dasikund - WRInaute discret

- Messages: 134
- Inscription: 28 Avr 2005
Salut,
Je ne sais pas si ça va t'aider, mais essaie d'utiliser la fonction urlencode($variable) de PHP. Lorsque tu récupèreras tes variables avec $_GET["variable"], la fonction urldecode($variable) sera automatiquement appliquée, de ce fait, tu n'auras plus les vilains espaces dans ton URL, mais de jolis "+"
.
Voilà, en espérant t'aider.
A+
Doug
Je ne sais pas si ça va t'aider, mais essaie d'utiliser la fonction urlencode($variable) de PHP. Lorsque tu récupèreras tes variables avec $_GET["variable"], la fonction urldecode($variable) sera automatiquement appliquée, de ce fait, tu n'auras plus les vilains espaces dans ton URL, mais de jolis "+"
Voilà, en espérant t'aider.
A+
Doug
-

bradeux - WRInaute occasionnel

- Messages: 390
- Inscription: 18 Mai 2005
en fait ça n'é pas un url direct, il s'agit d'un nom quelconque chopé dans une table c'est pour ça qu'il y a des espaces, mais pas seulement, y'a aussi des :, " ....
Concernant urlencode, est ce que tu pourrais m'en dire plus, je débute en php. Voici mon lien actuel :
<a href="<? echo $rs0["id"]?>-<? echo $rs0["product_name"];?>.html"><? echo $rs0["product_name"];?></a>
Merci
Concernant urlencode, est ce que tu pourrais m'en dire plus, je débute en php. Voici mon lien actuel :
<a href="<? echo $rs0["id"]?>-<? echo $rs0["product_name"];?>.html"><? echo $rs0["product_name"];?></a>
Merci
-

dasikund - WRInaute discret

- Messages: 134
- Inscription: 28 Avr 2005
Oui pouzy c'est sûr, c'est de loin le mieux. Seulement, parfois il est peut-être plus simple de feinter rapidement (de la bidouille quoi) plutôt que de faire quelquechose d'archi propre, mais bon, cela n'engage que le webmaster bien sûr
. J'avoue que je suis plutôt un adepte de la bidouille en fait
.
Doug
Doug
-

dasikund - WRInaute discret

- Messages: 134
- Inscription: 28 Avr 2005
Pour "urlencoder" ce lien, j'opte pour cette méthode :
<?
$id = $rs0["id"];
$product_name = $rs0["product_name"];
?>
<a href="<?=urlencode($id)?>-<?=urlencode($product_name)?>.html"><?=$product_name?></a>
Et lorsque sur la page suivante tu récupères tes variables :
<?
$id = $_GET["id"];
$product_name = $_GET["product_name"];
?>
qui sont automatiquement "urldecodées".
Si tu as d'autres soucis, n'hésite pas.
Doug
<?
$id = $rs0["id"];
$product_name = $rs0["product_name"];
?>
<a href="<?=urlencode($id)?>-<?=urlencode($product_name)?>.html"><?=$product_name?></a>
Et lorsque sur la page suivante tu récupères tes variables :
<?
$id = $_GET["id"];
$product_name = $_GET["product_name"];
?>
qui sont automatiquement "urldecodées".
Si tu as d'autres soucis, n'hésite pas.
Doug
-

dasikund - WRInaute discret

- Messages: 134
- Inscription: 28 Avr 2005
Le remplacement des + par des - dans tes variables est possible mais via une autre "bidouille" : les expressions régulières.
En fait, si tu veux changer les espaces par des "-" direct, il faut faire comme suit :
<?
$pattern = "| |";
$replacement = "-";
$variable = preg_replace ($pattern, $replacement, $variable);
$variable2 = preg_replace ($pattern, $replacement, $variable2);
?>
puis inversement dans la page suivante pour remettre les espaces à la place des "-" :
<?
$pattern = "|-|";
$replacement = " ";
$variable = preg_replace ($pattern, $replacement, $variable);
$variable2 = preg_replace ($pattern, $replacement, $variable2);
?>
En fait dans la ligne :
$pattern = "|*|";
Tu mets ce que tu veux à la place de l'étoile, c'est ce que tu veux remplacer, et dans la ligne :
$replacement = "*";
tu mets ce que tu veux à la place de l'étoile et c'est ce par quoi tu vas remplacer.
Pour plus de détails et de meilleures explications que les miennes
: -http://www.php.net/manual/fr/ref.pcre.php
En fait, si tu veux changer les espaces par des "-" direct, il faut faire comme suit :
<?
$pattern = "| |";
$replacement = "-";
$variable = preg_replace ($pattern, $replacement, $variable);
$variable2 = preg_replace ($pattern, $replacement, $variable2);
?>
puis inversement dans la page suivante pour remettre les espaces à la place des "-" :
<?
$pattern = "|-|";
$replacement = " ";
$variable = preg_replace ($pattern, $replacement, $variable);
$variable2 = preg_replace ($pattern, $replacement, $variable2);
?>
En fait dans la ligne :
$pattern = "|*|";
Tu mets ce que tu veux à la place de l'étoile, c'est ce que tu veux remplacer, et dans la ligne :
$replacement = "*";
tu mets ce que tu veux à la place de l'étoile et c'est ce par quoi tu vas remplacer.
Pour plus de détails et de meilleures explications que les miennes
-

bradeux - WRInaute occasionnel

- Messages: 390
- Inscription: 18 Mai 2005
merci doug, tout marche.
Dernière précision, si je vais mettre plusieurs variables dans le pattern genre espace + è + é + à ... comment puis je faire ?
J'ai esseyé :
<?
$pattern = "| ,é,à,è|";
$replacement = "-";
$variable = preg_replace ($pattern, $replacement, $variable);
?>
Mé bon ... ca marche pas ... ta une idée ??
encore merci
Dernière précision, si je vais mettre plusieurs variables dans le pattern genre espace + è + é + à ... comment puis je faire ?
J'ai esseyé :
<?
$pattern = "| ,é,à,è|";
$replacement = "-";
$variable = preg_replace ($pattern, $replacement, $variable);
?>
Mé bon ... ca marche pas ... ta une idée ??
encore merci
- moutyk
- WRInaute impliqué

- Messages: 713
- Inscription: 1 Mar 2003
Salut,
Tu peux aussi essayer un truc dans le genre à adapter biensûr...
et ainsi de suite .... toute fois on doit pouvoir faire mieux mais pour quelques régles ca devrait le faire
Tu peux aussi essayer un truc dans le genre à adapter biensûr...
- Code: Tout sélectionner
$variable=str_replace(" ","+",$variable);
$variable=str_replace("é","e",$variable);
$variable=str_replace("è","e",$variable);
et ainsi de suite .... toute fois on doit pouvoir faire mieux mais pour quelques régles ca devrait le faire
-

dasikund - WRInaute discret

- Messages: 134
- Inscription: 28 Avr 2005
- Code: Tout sélectionner
<html>
<head>
</head>
<body>
<?
$chaine = "téà _";
$tochange = array ("|é|" => "e", "|à|" => "a", "| |" => "", "|_|" => "-");
foreach ($tochange as $key => $value) {
$chaine = preg_replace ($key, $value, $chaine);
}
echo $chaine;
?>
</body>
</html>
Voilà, en gros dans le $tochange tu mets ta série de "|a_remplacer|" => "remplacement", séparée par des virgules et la boucle foreach fait le reste du boulot.
A+
Doug
PS : Désolé, un peu de retard, mais resto ce midi
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 :
- Problème lié au site ?
- Problème lié à IE avec les CSS
- Probleme lié aux droits d'auteurs, merci
- Problème lié à une redirection index.php vers /
- Problème dans les liens lié à l'url-rewriting !
- problème retour à la ligne avec certains espaces
- [urgent] Problème d'URL rewriting: espaces dans .htaccess
- Référencement lié à l'hébergement ?
- pb lié au changement d'heure
- Un site lié au mien
- Opquast : Bonnes pratiques qualité - 25-08-2004
- Apprendre à utiliser Google Ad Manager - 10-06-2009
- Balises meta et référencement : les bases à savoir - 04-08-2008
- AD42 : acheter et vendre de la publicité sur Internet facilement - 17-10-2005
- Formation Google Adwords à Paris le 8 avril 2011 - 12-01-2011
- Prise en compte de la mise en page HTML par les moteurs de recherche - 15-03-2008
- Gérer l'entête HTTP en PHP - 04-08-2008
- Google se lance dans les médias offline pour AdWords - 11-11-2006
Consultez la description détaillée des produits ou services de Google suivants : Google Reader Trends
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


