Problème %20 lié aux espaces
15 messages • Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
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
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
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
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
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
Ok, doug ca marche a merveille ! merci
je vais juste pousser un peu plus loin mon apparentissage ! est il possible de remplacer les + par un - et de configurer les : car pour le moment j'obtiens %3A à la place des : ?
Merci
je vais juste pousser un peu plus loin mon apparentissage ! est il possible de remplacer les + par un - et de configurer les : car pour le moment j'obtiens %3A à la place des : ?
Merci
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
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
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
Salut,
Oui bradeux, c'est normal que ça ne fonctionne pas, tu ne peux pas remplacer plusieurs expressions comme cela.
Je te ferai un petit bout de code ce midi pendant ma pause pour te montrer comment l'on fait.
A+
Doug
Oui bradeux, c'est normal que ça ne fonctionne pas, tu ne peux pas remplacer plusieurs expressions comme cela.
Je te ferai un petit bout de code ce midi pendant ma pause pour te montrer comment l'on fait.
A+
Doug
- 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 :
- NTIC et éthiques : la valeur de l'information en ligne (rapport de DESS)
- Google rachète DoubleClick pour 3,1 milliards de dollars
- Comment éviter les contenus dupliqués (avec/sans le www)
- Une icone pour afficher des plans dans les résultats de Google (Plus Box)
- Le détournement de page par redirection
- Traitement des mots par Google et notions linguistiques
- Apprendre à utiliser Google Ad Manager
- Google planche sur les "redirections sauvages"
- Google Code Jam 2003
- Voilà comment fonctionne réellement rel=nofollow
- Liste <li> et espaces
- Payements espaces publicitaires
- Classes de caractères et espaces
- espaces dans variables
- Google sensible aux espaces ...
- n'accepte pas les espaces
- espaces dans le nom de fichier
- détecter tous les espaces
- Vendre des espaces publicitaires
- espaces dans balise keywords
- Espaces dans résultats de Google
- site link avec ou sans espaces
- Modification de l'algorithme au niveau des espaces
- ventes espaces pub: régies ou en direct
- Supprimer les espaces url rewriting
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







le forum