2009-05-24 11 views
1

Comment puis-je modifier l'URL suivante côté clientUtiliser mod rewrite pour changer l'URL avec la variable nom d'utilisateur

domain.com/profile/jung 
domain.com/jung (preferable) 

à une URL côté serveur de

domain.com/profile.php?user_id=100 

avec le nom d'utilisateur dans une variable php ?

Je sais que je dois modifier mon fichier htaccess avec un RewriteCond et RewriteRule mais il est toujours pas clair pour moi ...

Comment Twitter gérer leurs URL UserPage?

Répondre

5

Essayez cette règle:

RewriteRule ^profile/([^/]+)$ profile.php?user_name=$1 

Cela réécrire les demandes de /profile/foobar-/profile.php?user_name=foobar. Notez que vous pouvez juste réécrire le nom d'utilisateur. Votre script devra alors rechercher l'identifiant de l'utilisateur si nécessaire.

+0

Merci, ça a marché! Y at-il un moyen facile de supprimer le profil/de l'URL? pour que domain.com/jung fonctionne aussi? Sinon, si je renommais profile.php en p.php, et que je changeais la rewriterule en^p /, cela affecterait-il toutes les pages qui ont commencé avec la lettre p? – Jung

+0

Oui, il pourrait être retiré. Mais vous devriez vous demander si c'est nécessaire/utile. Voir http://stackoverflow.com/questions/780311/foo-com-alice-vs-foo-com-users-alice – Gumbo

+0

Excellent, merci pour cela! Exactement ce que je cherchais. Aussi des choses auxquelles je n'avais même pas pensé. – Jung