Interdire les espaces et les remplacer .

Fermé
antx - 27 déc. 2006 à 09:55
 antx - 30 déc. 2006 à 20:06
Bonjour,

Pouvez vous me dire comment dois-je faire pour interdire les espaces dans une url et les remplacer par un point.


Merci d'avance

6 réponses

Thom@s Messages postés 3407 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 678
30 déc. 2006 à 20:04
Salut !

Désolé, mais je ne comprends plus du tout ce que tu veux faire.
Tu pourrais réexpliquer le problème, stp ? :)

J'ai lu :
j'aimerai pouvoir remplacer les espaces par un point.
pour ne pas avoir %20

Je t'ai donc donné un code qui remplace les %20 par des points dans l'URL (en fait, qui redirige vers l'adresse de la page courante avec les %20 remplacés).

Est-ce que ça convient, où est-ce que je n'ai pas compris le problème ?

Si tu veux rewriter l'URL en remplaçant les %20 par des points, ça me paraît difficile si on ne connaît pas le nombre exact de %20 à remplacer dans l'URL. Est-ce que ce nombre est fixe ou variable ?

A+
1
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 009
27 déc. 2006 à 10:06
Bonjour,

Pourrais-tu être un peu plus explicite s'il te plait ?
Je ne suis pas sûr d'avoir bien compris ce que tu veux faire...

Si ton but est de modifier l'adresse qu'a rentré un utilisateur dans son navigateur, je crains que tu ne puisses pas le faire...

Enfin, explique nous exactement ce que tu veux faire, à quel moment, à quel endroit, et dans quel but. Ca nous aidera a répondre.

Xavier
0
J'utilise la fonction url rewriting
j'utilise la petite description de chaque produit dans l'url.

Donc j'aimerai pouvoir remplacer les espaces par un point.
pour ne pas avoir %20.

Merci de votre aide
0
Thom@s Messages postés 3407 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 678
27 déc. 2006 à 12:06
Salut !

Avec l'URL rewriting, je ne vois pas trop comment faire si on ne connait pas le nombre exact d'espaces dans une URL (et ce nombre varie, je suppose).

Par contre, tu peux faire un bricolage en PHP (à placer sur la page de ton script, avant tout code HTML) :
<?php
$url_brut=explode('%20', $_SERVER['REQUEST_URI']);
foreach($url_brut as $fragment) {
    $url_final.=$fragment.".";
}
$url_final=substr($url_final, 0, -1); // pour enlever le point final
header('Location: '.$url_final);
?>

A+ :)
0
Merci pour votre coup de main, mais... :)

Lorsque la page charge cela prend bcp de temps et elle n'arrive pas.

Donc j'utilise l'url rewriting et des pseudos frames.

Donc je dois placer le code php sur ma page principale.


Merci de votre aide
0
Thom@s Messages postés 3407 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 678 > antx
27 déc. 2006 à 16:15
Re,

Effectivement, ça a dû faire une boucle infinie (la page s'appelle elle-même indéfiniment).

Essaie peut-être comme ça :
<?php
if (substr_count($_SERVER['REQUEST_URI'], "%20")>0) { 
     $url_brut=explode('%20', $_SERVER['REQUEST_URI']);
     foreach($url_brut as $fragment) {
         $url_final.=$fragment.".";
     }
     $url_final=substr($url_final, 0, -1); // pour enlever le point final
     header('Location: '.$url_final);
}
?>

A+
0
merci ton code va bien, mais....

le code remplace bien les espaces par un point


Voici mon fichier .htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.cache -f
RewriteRule ([^.]+)\.([^.]+)\.([^.]+)\.([^.]+)\.html$ /$1./$2./$3./$4.html.cache [L]
RewriteRule ([^.]+)\.([^.]+)\.([^.]+)\.([^.]+)\.html$ /index.php?cat=$1&desc1=$2&rubid=$3&news=$4 [L]

Comment dois-je faire maintenant pour la variable $2 reconnaissent bien la phrase.

Parce que normalement la variable doit être soit un chiffre soit un mot et pas plusieurs mots avec un point.


En espérant que vous conprennez mon problème.



Encore merci d'avance.
0
en gros, j'aimerai maintenant de pouvoir faire le contraire du code.

Donc supprimer les . par un espace normal, pour que ma bdd reconnaisse bien cet id.


Pour info, je désire juste avoir une url plus propre pour l'indexation des moteurs de recherche.


Encore merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Auriez vous une idée, pour résoudre mon petit soucis? ;)

Merci
0
j'ai vraiment besoin de votre coup de main, ;) merci
0