Joli URL

Résolu/Fermé
para.rami Messages postés 3 Date d'inscription samedi 30 novembre 2013 Statut Membre Dernière intervention 21 décembre 2013 - 30 nov. 2013 à 09:12
Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 - 23 déc. 2013 à 13:52
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

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
30 nov. 2013 à 09:33
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
Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 21
2 déc. 2013 à 02:22
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
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
3 déc. 2013 à 11:28
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
para.rami Messages postés 3 Date d'inscription samedi 30 novembre 2013 Statut Membre Dernière intervention 21 décembre 2013
4 déc. 2013 à 07:33
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
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
4 déc. 2013 à 11:13
En ZF on ne crée pas de répertoire.....
0
Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 21
23 déc. 2013 à 13:52
en url rewrite sans ZF non plus
0