Joli URL

Résolu
para.rami Messages postés 3 Statut Membre -  
Xavierdu34 Messages postés 223 Statut Membre -
mon url est comme ceci localhost/projet/index.php?affichage=pages&action=village et comme le faire pour avoir ceci localhost/projet/affichage/pages/village ou est ce que je peut avoir une suggestion.je suis débutant en mvc

4 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Ce que tu cherches s'appelle de l'URL Rewriting.
    En gros, il faut rajouter/activer un module à Apache pour qu'il transforme à la volée une requête entrante sous la forme localhost/projet/affichage/pages/village en localhost/projet/index.php?affichage=pages&action=village.

    Je te suggères de rechercher dans cette direction.
    Un guide (en Anglais) : http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

    Xavier
    0
  2. Xavierdu34 Messages postés 223 Statut Membre 21
     
    En admettant que ton hébergeur supporte l'url Rewriting, tu dois créer un fichier .htacess que tu met à la racine de ton site soit :
    localhost/projet/.htaccess

    le fichier .htacess doit contenir :
    RewriteEngine On
    RewriteBase /
    RewriteRule ^affichage-([a-zA-Z]+)-([a-zA-Z]+)$ index.php?affichage=$1&page=$2 [L]


    Cela redirigera de manière transparente toutes les pages du type localhost/projet/affichage-nimportequelcaracteres-nimportequelcaracteres2 vers localhost/projet/index.php?affichage=nimportequelcaracteres&action=nimportequelcaracteres2.

    cela est définie par ça : ([a-zA-Z]+) qui sous entends, n'importe quel chaine de caractères comprenant des majuscules et minuscules.. si tu veux ajouter des chiffres ce sera ([a-zA-Z0-9]+)

    Pour en savoir plus la dessus, c'est la règle des expressions régulières, ou autrement dit les Regex .. j'en parle sur un article de mon blog :
    http://ww12.xrecasens.info

    P.S. : si tu souhaites des / à la place des -, il faut se renseigner un peu, comme / est un séparateur je ne sais pas sous quelle écriture il faut les déclarer, mais avec un peu de recherche tu trouveras facilement.
    0
  3. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    Bonjour,

    Ce que vous demandez est exactement ce que réalise Zend Framework

    Je vous conseille d'acquérir un bon ouvrage sur ce sujet.

    A la base, il vous faut un .htaccess qui fera la réécriture d'URL:

    SetEnv APPLICATION_ENV production
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-s
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php [NC,L]

    Ensuite, il faut installer dans les sous-répertoires adéquats Zend Framework.

    dans votre exemple:

    localhost/projet/affichage/pages/village

    affichage sera le controleur
    pages sera l'action

    A+

    0
  4. para.rami Messages postés 3 Statut Membre
     
    Merci pour l'aide, une autre question : quand mon url devient localhost/projet/affichage/pages/village au lieu de localhost/projet/index.php?affichage=pages&action=village. pas de page afficher, mais je dois cree l repertoire affichage-paage-village pour afficher la page et qaund la page s'affiche le lien se retourne c'est a dire que sur le lien qui affiche localhost/projet/affichage/pages/village devient localhost/projet/affichage/pages/projet/affichage/pages/village.je sais pas porquoi?
    0
    1. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
       
      En ZF on ne crée pas de répertoire.....
      0
    2. Xavierdu34 Messages postés 223 Statut Membre 21
       
      en url rewrite sans ZF non plus
      0