Comment transformer les accents par leur code grâce à .htaccess

Discussion dans 'Netlinking, backlinks, liens et redirections' créé par bluemanca, 14 Mai 2013.

Tags:
  1. bluemanca
    bluemanca Nouveau WRInaute
    Inscrit:
    13 Décembre 2010
    Messages:
    9
    J'aime reçus:
    0
    Bonjour à tous.

    Je suis coincé par de nombreux fichiers ayant des accents dans leur nom : je migre un site hébergé sous Windows chez un professionnel vers un autre serveur tournant lui sous Linux chez le même professionnel, et j'ai beaucoup d'images ayant des noms de fichiers avec des accents : impossible de changer leur nom vu leur nombre, et vu l'utilisation immense dans les nombreuses pages et aussi dans la base de données sous la forme d'HTML stocké.

    Comment, grâce à de l'URL Rewriting, transformer un nom d'un fichier demandé (ou une URL) par un nom avec des codes en lieu et place des accents ?

    Exemples avec des noms de fichier :

    Code:
    NOM DE FICHIER                TRANSFORMATION SOUHAITÉE
    
    Un_bel_été.jpg                Un_bel_%e9t%e9.jpg
    Je_vais_à_la_plage.gif        Je_vais_%e0_la_plage.gif
    Exemples avec des URL demandées dans des balises <IMG> :

    Code:
    URL demandée par la propriété SRC                TRANSFORMATION SOUHAITÉE
    
    http://monsite/IMAGES/Un_bel_été.jpg             http://monsite/IMAGES/Un_bel_%e9t%e9.jpg
    IMAGES/Je_vais_à_la_plage.gif                    IMAGES/Je_vais_%e0_la_plage.gif
    
    En fait, voici une liste d'accents NON EXHAUSTIVE et de leur code associé que je souhaiterais convertir grâce à .htaccess :

    è : %e8
    é : %e9
    à : %e0
    È : %c8
    É : %c9
    À : %c0
    etc...

    Précision : je cherche une solution exclusivement mis en oeuvre grâce à du code tapé dans .htaccess.

    Merci à tous !

    BlueManCa.
     
  2. bluemanca
    bluemanca Nouveau WRInaute
    Inscrit:
    13 Décembre 2010
    Messages:
    9
    J'aime reçus:
    0
    Bon, grâce à l'aide d'un internaute bienveillant, "yponomeut", et divers peaufinages, je suis parvenu à trouver une première solution qui marche nickel :

    Le fichier .htaccess :

    Code:
    # Le serveur doit suivre les liens symboliques :
    Options +FollowSymlinks
    
    # Activation du module de réécriture d'URL :
    RewriteEngine on
    
    # Réécriture des fichiers images n'ayant pas été trouvés :
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule IMAGES/(.*)$  http://www.monsite.extension/URLRewritingPourIMAGES.php?img=$1 [L]
    Le fichier "URLRewritingPourIMAGES.php ":

    Code:
    <?php
    //------------------------------------------------------------------------------
    // URLRewritingPourIMAGES.php
    //------------------------------------------------------------------------------
    // Définit certaines variables pour mon site dont $LIAISON_Root nécessaire ici
    include_once "FFTI.inc.php";
    
    if (isset($_GET['img']))
    {
      $NomFichierImage = $_GET['img'];
      
      $TabAccents = array('é','è','ê','ë','È','É','Ê','Ë','à','â','ä','À','Â','Ä','ù','û','ü','Ù','Û','Ü','î','ï','Î','Ï','ô','ö','Ô','Ö');
      
      for($i=0; $i<count($TabAccents); $i++) {$TabAccentsUTF8[] = utf8_encode($TabAccents[$i]);}
      $NomFichierImage = str_replace($TabAccentsUTF8, $TabAccents, $NomFichierImage);
      
      // $LIAISON_Root doit contenir le chemin physique sur le disque dur (il est initialisé par FFTI.inc.php)
      $PathFileName = $LIAISON_Root.'IMAGES/'.$NomFichierImage;
      $Extension = strtoupper(substr($PathFileName,-3));
      
      switch ($Extension)
      {
        case 'JPG': $Header = 'Content-Type: image/jpeg'; break;
        case 'GIF': $Header = 'Content-Type: image/gif'; break;
        case 'PNG': $Header = 'Content-Type: image/png'; break;
        default : exit("URLRewritingPourIMAGES.php : Type d'image non implémenté : [$Extension]");
      }
      
      header($Header);
      readfile($PathFileName);
    }
    //------------------------------ FIN DE FICHIER ------------------------------?>
    En espérant que cela servira à des personnes confrontées au même problème que moi. ;)
     
Chargement...
Similar Threads - transformer accents code Forum Date
Comment transformer les accents dans les urls URL Rewriting et .htaccess 28 Août 2014
Transformer une page pro en page personnelle Facebook 11 Novembre 2021
Impossible de transformer son profil en page ? Facebook 6 Octobre 2020
Transformer visiteur en client Demandes d'avis et de conseils sur vos sites 15 Novembre 2017
Comment transformer ce bout de code en fonction ? Développement d'un site Web ou d'une appli mobile 28 Mars 2017
transformer le lien du site au nom ... Administration d'un site Web 25 Janvier 2016
comment garder son compte personnel Facebook sans le transformer en page Facebook 27 Novembre 2015
Transformer un blog WP avec WooCommerce e-commerce 21 Août 2015
FB m'oblige à transformer mon profil en page Facebook 15 Octobre 2014
Facebook bloque et oblige à transformer les comptes privés en page ! Facebook 20 Août 2014
Transformer page G+ en Google Adresse Google+ 11 Mars 2014
Php transformer un email en image Développement d'un site Web ou d'une appli mobile 24 Janvier 2014
Transformer compte Google+ classique en page Google+ Google+ 10 Octobre 2013
transformer page amis en page fan Facebook 29 Août 2013
Transformer un lien sortant normal en lien d'affiliation URL Rewriting et .htaccess 7 Mars 2013
Transformer un groupe d'annonce en campagne ? AdWords 28 Juillet 2012
Transformer son compte Adsense particulier en professionnel AdSense 1 Juin 2012
Comment transformer une page Fan en page Perso sur Facebook ? Facebook 3 Février 2012
Expression régulière MySql REGEXP pour transformer des liens Développement d'un site Web ou d'une appli mobile 26 Septembre 2011
Plugin WP pour transformer son site en appli Android Développement d'un site Web ou d'une appli mobile 31 Août 2011