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
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
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
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
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
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
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 :
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.
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
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:
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+
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
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?
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
4 déc. 2013 à 11:13
En ZF on ne crée pas de répertoire.....
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
23 déc. 2013 à 13:52
en url rewrite sans ZF non plus