Url rewriting htaccess

Discussion dans 'URL Rewriting et .htaccess' créé par meteo75, 31 Mai 2011.

Tags:
  1. meteo75
    meteo75 WRInaute discret
    Inscrit:
    12 Juillet 2009
    Messages:
    178
    J'aime reçus:
    0
  2. Djibou_Te@M
    Djibou_Te@M WRInaute occasionnel
    Inscrit:
    20 Avril 2010
    Messages:
    403
    J'aime reçus:
    0
    Code:
    Options +FollowSymlinks
    RewriteEngine on
    
    RewriteRule   ^[a-zA-Z0-9\-_\+]+-4\.html$   mapage.php?id=4  [L]
    
    ## ou de manière plus générique
    RewriteRule   ^[a-zA-Z0-9\-_\+]+-([0-9]+)\.html$   mapage.php?id=$2  [L]
    
    
    A toi de choisir entre les deux règles de réécriture, sinon, un conseil, lis cet article avant de faire du rewriting :
    https://www.webrankinfo.com/dossiers/techniques/tutoriel-url-rewriting
    puis :
    https://www.webrankinfo.com/dossiers/techniques/tutoriel-url-rewriting

    Voilà, avec tout ça, tu devrais pouvoir t'en sortir :wink:
     
  3. meteo75
    meteo75 WRInaute discret
    Inscrit:
    12 Juillet 2009
    Messages:
    178
    J'aime reçus:
    0
    Merci,

    j'ai lu les articles c'est plus clair, seul petit hic, comment je fais pour ne récupéré que le titre .
    Moi j'ai des erreurs 404 quand je me sers de ton htaccess ...

    Bref je me suis lancé un truc trop dur à réalisé je crois
     
  4. Djibou_Te@M
    Djibou_Te@M WRInaute occasionnel
    Inscrit:
    20 Avril 2010
    Messages:
    403
    J'aime reçus:
    0
    Allez, te décourages pas, envoie l'URL du site à bidouiller, si tu veux le garder à la discrétion de tous, envoies le moi par MP,
    je vais faire ma BA de la journée :wink:
    En s'y plongeant à deux, on devrait y voir plus clair.

    Ce qu'il me faut : c'est le code entier de ton HTACCESS, l'URL de ton site et les pages que tu veux réécrire.

    A tout à l'heure
     
  5. meteo75
    meteo75 WRInaute discret
    Inscrit:
    12 Juillet 2009
    Messages:
    178
    J'aime reçus:
    0
    C'est trop gentil,

    Envoyé :D
     
  6. Djibou_Te@M
    Djibou_Te@M WRInaute occasionnel
    Inscrit:
    20 Avril 2010
    Messages:
    403
    J'aime reçus:
    0
    Alors,

    Pour faire simple, ta page doit afficher le lien de cette manière :

    Code:
    <a href="http://www.nom-de-domaine.com/titre-de-la-page-sans-caractere-speciaux-04.html"> page titre de la page 04</a>
    
    Pour ce, faire, dans ton code :
    Tu dois créer une fonction qui va nettoyer le titre pour le rendre compatible avec l'écriture d'URL, je t'aides, voici ma fonction qui fais ça :
    Code:
    function nettoie_url($in) {
    	$search = array ('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[ ]@i','@[^a-zA-Z0-9_.-]@');
    	$replace = array ('e','a','i','u','o','c','-','-');
    	return preg_replace($search, $replace, $in);
    }
    

    Ensuite, tu dois récupérer l'ID de ta page, dans le code ci-dessous, je l'ai appelé "$id_page" :

    Code:
    <?PHP 
     echo "<a href=\"http://www.nom-de-domaine.com/".nettoie_url($title)."-".$id_page.".html\"> ".$title."</a>";
    ?> 
    
    Du coup, pour une page dont le titre est admettons "ville au nom accentué ôèà" est l'id de la page est "4" :

    cela te donnera le code HTML suivant :
    Code:
    <a href="http://www.nom-de-domaine.com/ville-au-nom-accentueoea-4.html">ville au nom accentué ôèà</a>
    
    Niveau HTACCESS :
    Code:
    Options +FollowSymlinks
    RewriteEngine on
    
    RewriteRule   ^[a-zA-Z0-9\-_\+]+-([0-9]+)\.html$   ma_vraie_page.php?id=$2  [L]
    
    Explication du code HTACCESS:

    si j'appelle une URL qui a pour format : [tout caractère alpha-numérique]-[un numéro].html
    J'affiche dans la barre d'adresse : [tout caractère alpha-numérique]-[un numéro].html
    et j'interprète le code de la page ma_vraie_page.php?id=[un numéro]

    vue technique vulgarisée du HTACCESS:
    $2 de "videos.php?id=$2" est la deuxième variable qui m'a été passée par l'appel de [a-zA-Z0-9\-_\+]+-([0-9]+)\.html

    Tout ce qui se trouve entre [] est considéré comme variable :
    donc dans [a-zA-Z0-9\-_\+]+-([0-9]+)\.html
    [a-zA-Z0-9\-_\+] : sera ma première variable pouvant être récupérée par $1
    [0-9]+ : sera ma seconde variable pouvant être récupérée par $2

    voilà, :wink:
     
  7. Djibou_Te@M
    Djibou_Te@M WRInaute occasionnel
    Inscrit:
    20 Avril 2010
    Messages:
    403
    J'aime reçus:
    0
    Petite mise à jour, sur certains serveur ma fonction nettoie_url nettoie un peu trop et ne fais pas tout comme il faut, bizarre,
    mais au cas où, voici sa grande soeur, plus vieille certes, dépréciée sur certaines fonctions utilisées, mais qui a fait ses preuves :

    Code:
    function nettoie_url($nomPage){
    	//on se débarasse des espaces
    	$nomPage = trim($nomPage);
    	//suppression du code html
    	$nomPage = strip_tags($nomPage);
    	//désencodage HTML
    	$nomPage = html_entity_decode($nomPage);
    	//suppression de la ponctuation
    	$nomPage = ereg_replace("[\?!\./\(\)\"&ç=$\^%!:;,<>«»™|]", "", $nomPage);
        //minuscules
    	$nomPage = strtolower($nomPage);
    	//suppression des accents
    	$nomPage = ereg_replace(" ", "-", $nomPage);
        $nomPage = ereg_replace("['’_]", "-", $nomPage);
    	$nomPage = ereg_replace("[àâ]", "a", $nomPage);
    	$nomPage = ereg_replace("[éèêë]", "e", $nomPage);
    	$nomPage = ereg_replace("[ïî]", "i", $nomPage);
    	$nomPage = ereg_replace("[öô]", "o", $nomPage);
    	$nomPage = ereg_replace("[ùû]", "u", $nomPage);
    	return $nomPage;
    }
    
    
    Appels aux développeurs en herbe de WRI, si vous souhaitez modifier l'une ou l'autres des fonctions proposées pour les rendre plus performantes, je suis pour que vous nous postiez votre mise à jour sur ce sujet, histoire d'en faire profiter tout le monde

    Voilà :wink:
     
  8. meteo75
    meteo75 WRInaute discret
    Inscrit:
    12 Juillet 2009
    Messages:
    178
    J'aime reçus:
    0
    Marche pas :0((
     
  9. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 162
    J'aime reçus:
    337
  10. Sanjb
    Sanjb Nouveau WRInaute
    Inscrit:
    10 Octobre 2007
    Messages:
    27
    J'aime reçus:
    0
    Bonjour tout le monde!
    Je sais que c'est un vieux post mais au lieu d'en ouvrir un nouveau, je continue celui ci ;)

    J'ai un souci avec ma réécriture d'url... Je ne sais pas ce qui se passe, j'ai lu pas mal de forum, tuto, etc... Mais je n'arrive pas à faire ce que je veux.
    Quelqu'un peut il m'aider?
    Ce que je souhaite faire:
    J'ai des pages www.exemple.ext/index.php?page=jeux ou www.exemple.ext/index.php?page=calcul, par exemple et je souhaite que cette page soit renomée en www.exemple.ext/jeux.php ou www.exemple.ext/calcul.php
    Je suis chez Online en mutualisé, la réécriture est autorisée.
    J'ai essayé plein de trucs mais cela ne marche jamis, soit on me dit que la page n'est pas trouvée, ou alors la redirection n'est pas prise en compte.

    Pour le moment j'ai ça dans mon .htaccess
    RewriteEngine On
    RewriteBase /
    RewriteRule ^$ %{QUERY_STRING} [C]
    #RewriteRule ^[a-zA-Z0-9\-_\+]\.php$ index.php?page=jeux [L]
    RewriteRule ^jeux\.php$ /index.php?page=jeux [L]

    Merci de votre aide!
     
Chargement...
Similar Threads - rewriting htaccess Forum Date
test de page html avec htaccess (url rewriting) URL Rewriting et .htaccess 16 Juin 2018
Problème accent URL Rewriting et .htaccess URL Rewriting et .htaccess 4 Novembre 2016
URL rewriting avec Htaccess qui ne fonctionne pas Développement d'un site Web ou d'une appli mobile 1 Novembre 2016
Url rewriting Suppression de www et .com unqiuement dans un repertoire avec htaccess URL Rewriting et .htaccess 16 Août 2014
URL rewriting : un RewriteRule sans effet dans le htaccess URL Rewriting et .htaccess 19 Juin 2014
Pattern PRG, ordre des get, url rewriting - htaccess Développement d'un site Web ou d'une appli mobile 14 Février 2013
URL Rewriting via .htaccess > incompréhension URL Rewriting et .htaccess 30 Novembre 2010
URL Rewriting et .htaccess Développement d'un site Web ou d'une appli mobile 20 Octobre 2010
URL RedirectPermanent et Rewriting dans .htaccess URL Rewriting et .htaccess 29 Mai 2010
Rewriting url avec variable par .htaccess URL Rewriting et .htaccess 12 Avril 2010
[Url Rewriting] N'aurais je rien compris à la façon de coder le htaccess ? Débuter en référencement 12 Avril 2010
URL Rewriting et .htaccess URL Rewriting et .htaccess 28 Février 2010
Fichier .htaccess et url rewriting Administration d'un site Web 13 Décembre 2009
Problème d'url rewriting : htaccess non prit en compte URL Rewriting et .htaccess 29 Juillet 2009
Url rewriting + .htaccess problème URL Rewriting et .htaccess 8 Juillet 2009
.htaccess et URL Rewriting avec Forcetype URL Rewriting et .htaccess 11 Juin 2009
URL Rewriting et .htaccess Référencement Google 24 Février 2009
[Wordpress] URL Rewriting intégré et htaccess, incompatibles URL Rewriting et .htaccess 7 Février 2009
Urlrewriting .htaccess, internal error 500 Administration d'un site Web 6 Janvier 2009
Redirection 301 + url Rewriting sur htaccess Help ! Développement d'un site Web ou d'une appli mobile 20 Décembre 2008