Interdire les espaces et les remplacer .

antx -  
 antx -
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
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. Thom@s Messages postés 2647 Date d'inscription   Statut Membre Dernière intervention   678
     
    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
  2. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    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
  3. antx
     
    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
    1. Thom@s Messages postés 2647 Date d'inscription   Statut Membre Dernière intervention   678
       
      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
    2. antx
       
      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
      1. Thom@s Messages postés 2647 Date d'inscription   Statut Membre Dernière intervention   678 > antx
         
        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
      2. antx > antx
         
        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
  4. antx
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

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

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