Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2039 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP5] URL rewriting

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP5] URL rewriting

n°1937106
stef_dober​mann
Personne n'est parfait ...
Posté le 02-11-2009 à 18:55:51  profilanswer
 

Bonjour,
 
Je cherche une classe pour gérer les URLs ou comment faire pour que le passage de paramètre d'un script à l'autre sans avoir une barre de 2 Km de long ?
Je n'ai pas beaucoup de variable à passer, mais je cherche  un truc comme dans Symfony, pour avoir des URLs propre et une meilleur homogénéité.
 
Merci :)


---------------
Tout à commencé par un rêve...
mood
Publicité
Posté le 02-11-2009 à 18:55:51  profilanswer
 

n°1937130
budlite
Fresh
Posté le 02-11-2009 à 22:39:19  profilanswer
 

L'URL rewriting ça se passe au niveau d'Apache, pas de PHP.


---------------
Fresh
n°1937221
Tirkyth
Posté le 03-11-2009 à 11:47:09  profilanswer
 

budlite a écrit :

L'URL rewriting ça se passe au niveau d'Apache, pas de PHP.


Pas forcément.
 
 
Bon sinon comme tu le dis si bien, plusieurs frameworks intègrent des mécanismes de réécriture d'url (par exemple Symfony, CakePHP aussi je crois) mais je n'en ai jamais vu en lib indépendante.
 
Le mieux est peut-être d'utiliser un framework non ? Tu y gagnerais sur pas mal d'autres domaines en plus avec les nombreuses fonctionnalités

n°1937222
skeye
Posté le 03-11-2009 à 11:47:59  profilanswer
 

Tirkyth a écrit :


Pas forcément.


Si, forcément. Si tu fais rien coté serveur HTTP il se passera pas grand chose.[:dawao]

Message cité 1 fois
Message édité par skeye le 03-11-2009 à 11:48:13

---------------
Can't buy what I want because it's free -
n°1937225
Tirkyth
Posté le 03-11-2009 à 11:52:07  profilanswer
 

skeye a écrit :


Si, forcément. Si tu fais rien coté serveur HTTP il se passera pas grand chose.[:dawao]


Il y a autre chose que les rewrite rules dans les htaccess de nos jours.

n°1937226
skeye
Posté le 03-11-2009 à 11:53:31  profilanswer
 

Tirkyth a écrit :


Il y a autre chose que les rewrite rules dans les htaccess de nos jours.


...et sans ça il n'y a rien qui marche, pourtant.
Ton framework il va avoir besoin d'une rewrite rule de toutes les url vers l'index sinon tu vas avoir des http 404 partout.[:skeye]

Message cité 1 fois
Message édité par skeye le 03-11-2009 à 11:53:43

---------------
Can't buy what I want because it's free -
n°1937229
Tirkyth
Posté le 03-11-2009 à 11:59:12  profilanswer
 

skeye a écrit :


...et sans ça il n'y a rien qui marche, pourtant.
Ton framework il va avoir besoin d'une rewrite rule de toutes les url vers l'index sinon tu vas avoir des http 404 partout.[:skeye]


Non mais d'accord mais ça répond pas du tout à la demande du post initial.  [:prozac]  
Il veut un système comme dans Symfony, donc un truc ou tu fais pas tes rewrite rules dans ton htaccess.
Ca sert à rien de lui dire

Citation :


L'URL rewriting ça se passe au niveau d'Apache, pas de PHP.


Ça ne l'aide en rien, et ça dit surtout "T'as pas le choix, faut faire au niveau d'apache".
 
Alors oui, si tu veux, d'accord, il va en effet avoir besoin d'une règle pour rediriger toutes ses requêtes vers l'index d'accord. Mais la réponse que j'ai quoté ci-dessus, elle veut pas du tout dire ça.

n°1937230
Tirkyth
Posté le 03-11-2009 à 12:05:37  profilanswer
 

Tiens je viens de tomber sur ça, je sais pas si ça pourrait te convenir (j'ai pas regardé en détails non plus):
 
http://pear.php.net/package/Net_URL_Mapper

n°1937231
skeye
Posté le 03-11-2009 à 12:05:56  profilanswer
 

Tirkyth a écrit :


Ca sert à rien de lui dire

Citation :


L'URL rewriting ça se passe au niveau d'Apache, pas de PHP.



Je suis tout à fait d'accord, la réponse était incomplète. Mais la tienne était également incorrecte, d'où mon intervention.
...m'enfin on encule les mouches là hein. :o
Une option à regarder éventuellement s'il veut pas installer un framework complet c'est ce que fait zend, on doit pouvoir réutiliser la couche Zend_Application sans tout le reste...mais ce sera pas fait en 5 minutes non plus je pense.


---------------
Can't buy what I want because it's free -
n°1937232
Tirkyth
Posté le 03-11-2009 à 12:12:24  profilanswer
 

skeye a écrit :


Je suis tout à fait d'accord, la réponse était incomplète. Mais la tienne était également incorrecte, d'où mon intervention.
...m'enfin on encule les mouches là hein. :o


Certes  :o

 

Et sinon pour compléter ma réponse précédente, si le NEt URL Mapper ne convient pas, tu as un post ici de quelqu'un qui a développé son propre truc vraiment light et qui explique comment l'utiliser, je ne sais pas si ça répondra à tes besoins mais tu peux toujours jeter un oeil :
http://beta.ferdianto.com/2009/05/ [...] ng-library

Message cité 1 fois
Message édité par Tirkyth le 03-11-2009 à 12:12:35
mood
Publicité
Posté le 03-11-2009 à 12:12:24  profilanswer
 

n°1937386
stef_dober​mann
Personne n'est parfait ...
Posté le 03-11-2009 à 20:00:23  profilanswer
 

Déjà, merci pour toutes ces réponses :jap:
ensuite, dans l'ordre :
-  je sais que ca se passe dans Apache, mais pour gérer les URL dans les scripts il devrait aussi existait une classe en PHP pour centraliser ça.
- Utiliser un frameworks non, ça me demande le réécriture de mon application + apprentissage du dit frameworks , beaucoup trop long, je n'ai pas le temps de me former, mais je connais la théorie de Symfony et c'est pour ça que je cherche une classe.
-Pour le reste, je regarde, merci
 
Si vous avez d'autre truc, je reste preneur :)


---------------
Tout à commencé par un rêve...
n°1937575
stef_dober​mann
Personne n'est parfait ...
Posté le 04-11-2009 à 12:39:29  profilanswer
 

Tirkyth a écrit :


Certes  :o  
 
Et sinon pour compléter ma réponse précédente, si le NEt URL Mapper ne convient pas, tu as un post ici de quelqu'un qui a développé son propre truc vraiment light et qui explique comment l'utiliser, je ne sais pas si ça répondra à tes besoins mais tu peux toujours jeter un oeil :
http://beta.ferdianto.com/2009/05/ [...] ng-library


 
Il faut voir, le principe peut être intéressant, je vais creuser, on verra...
Cependant le topic reste ouvert a toute proposition :)


---------------
Tout à commencé par un rêve...
n°1937820
budlite
Fresh
Posté le 04-11-2009 à 20:06:09  profilanswer
 

Tirkyth a écrit :


Pas forcément.
 
 
Bon sinon comme tu le dis si bien, plusieurs frameworks intègrent des mécanismes de réécriture d'url (par exemple Symfony, CakePHP aussi je crois) mais je n'en ai jamais vu en lib indépendante.
 
Le mieux est peut-être d'utiliser un framework non ? Tu y gagnerais sur pas mal d'autres domaines en plus avec les nombreuses fonctionnalités


OK autant pour moi je pensais que la bonne pratique était de faire l'url rewriting directement sur Apache.
 
En fait j'ai un peu de mal à voir comment ça peut marcher si tu veux que l'adresse www.site.com/article/view/mon-titre-pour-le-seo/ redirige vers une autre page, si tu ne fais rien au niveau d'apache :??: Je comprends qu'on puisse parser l'url courante et faire sa logique en php/java etc derrière pour simuler un url rewriting, mais par défaut apache va rediriger vers le dossier /article/view/mon-titre-pour-le-seo/, nan ?


---------------
Fresh
n°1937827
Tirkyth
Posté le 04-11-2009 à 20:55:35  profilanswer
 

budlite a écrit :


OK autant pour moi je pensais que la bonne pratique était de faire l'url rewriting directement sur Apache.
 
En fait j'ai un peu de mal à voir comment ça peut marcher si tu veux que l'adresse www.site.com/article/view/mon-titre-pour-le-seo/ redirige vers une autre page, si tu ne fais rien au niveau d'apache :??: Je comprends qu'on puisse parser l'url courante et faire sa logique en php/java etc derrière pour simuler un url rewriting, mais par défaut apache va rediriger vers le dossier /article/view/mon-titre-pour-le-seo/, nan ?


En fait comme expliqué plus haut avec skeye, tu vas avoir grosso-modo une seule et unique règle qui va dire à Apache que peut importe l'url demandée, tu la redirige vers l'index par exemple.
Et c'est cet index qui va être chargé de parser l'url et de savoir quelle partie de l'application il doit charger etc.
 
Si tu veux te renseigner un peu plus tu peux faire une recherche sur "Design Pattern Front Controller".
 
Ici tu trouveras le fonctionnement pour le framework Symfony par exemple : http://www.symfony-project.org/job [...] rine/en/05
Si tu as un peu de temps pour lire, tu verras que ça permet des trucs vraiments pratiques, et faciles.
(Par exemple avec les règles apache, si un jour tu veux changer la forme d'une url, t'es dans le caca faut repasser partout dans ton appli ou y'a des liens.
Avec Symfony, tu modifies un fichier et ca roule tout seul)

n°1937840
stef_dober​mann
Personne n'est parfait ...
Posté le 04-11-2009 à 22:15:47  profilanswer
 

Merci pour ta réponse Tirkyth, c"est exactement ça.
Budlite, il faudra de toute façon une règle Apache, c'est incontournable.
 
Le principe est d'avoir une seule et même classe PHP pour traiter les URLs sans plus se soucier de ce qui se passe quand on code.
 
Edit => complément


Message édité par stef_dobermann le 04-11-2009 à 22:30:58

---------------
Tout à commencé par un rêve...
n°1937849
stef_dober​mann
Personne n'est parfait ...
Posté le 04-11-2009 à 23:02:56  profilanswer
 

cela me paraît sympa http://www.phpcs.com/codes/URL-REWRITING-PHP-RESPECTE-REGLES-MOD_REWRITE_33296.aspx  
à suivre...


---------------
Tout à commencé par un rêve...
n°1937860
stealth35
Posté le 04-11-2009 à 23:51:24  profilanswer
 

ouai apache oblige,
par contre tu fait comme tu veux
 
que tu tape  
 
http://localhost/test/blabla/tructru/17
 
tu peux lui dire d'ouviri dans tout les cas uniquement  le index.php a la racine
 
apres avec ton index tu parses, ton adresse, et suivent les condition tu fais ce que tu veux
 
un simple  explode('/', $url);  et ca roule   (bon ok derriere y'a la secu a géré et que c'est pas si simple)  ,  mais dans l'idée c'est juste ca

n°1938138
stef_dober​mann
Personne n'est parfait ...
Posté le 05-11-2009 à 20:47:12  profilanswer
 

En faite ça juste ça, mais je voulais quelque chose de structuré
et surtout trouver un moyen "propre" pour faire passer un ID de session.
Un client peut utiliser l'application sans ce logger, mais aura des droits limités.
Donc l'ouverture de session n'est pas obligatoire.


---------------
Tout à commencé par un rêve...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP5] URL rewriting

 

Sujets relatifs
préparer des url pour rewriting?Comment faire pour afficher les erreurs PHP4 dans environnement PHP5?
PHP5.3.0/MySQL5.1.36 Impossible de créer un catalogue présentable !!règle d'écriture de l'URL pattern dans le web.xml
URL syntaxeProblème livre d'or php5
Encoder une URL en CSharp C#Branchement sous PHP4 vs PHP5
URL REWRITTINGsvn: 'C:\machin is already a working copy for a different URL
Plus de sujets relatifs à : [PHP5] URL rewriting


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR