Joli URL
Résolu
para.rami
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Xavierdu34 Messages postés 216 Date d'inscription Statut Membre Dernière intervention -
Xavierdu34 Messages postés 216 Date d'inscription Statut Membre Dernière intervention -
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
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
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
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 :
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.
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.
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:
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+
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+
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?