2009-05-24 6 views
1

zu ändern Wie ändere ich die folgenden clientseitige URLmod Rewrite verwenden URL mit Benutzername Variable

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

auf eine serverseitige URL von

domain.com/profile.php?user_id=100 

mit dem Benutzernamen in einer PHP-Variable ?

Ich weiß, ich brauche meine .htaccess-Datei mit einer RewriteCond und RewriteRule zu bearbeiten, aber es ist immer noch nicht klar, für mich ...

Wie funktioniert Twitter, um ihre Benutzerseite URLs verwalten?

Antwort

5

Versuchen Sie, diese Regel:

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

Diese Anfragen von /profile/foobar-/profile.php?user_name=foobar umschreiben wird. Beachten Sie, dass Sie nur den Benutzernamen neu schreiben können. Ihr Skript muss dann bei Bedarf die Benutzer-ID nachschlagen.

+0

Danke, das hat funktioniert! Gibt es eine einfache Möglichkeit, um Profil/von der URL zu entfernen? so dass domain.com/jung auch funktionieren würde? Alternativ, wenn ich profile.php in p.php umbenannte und den rewriterule in^p/änderte, würde dies alle Seiten betreffen, die mit dem Buchstaben p begannen? – Jung

+0

Ja, es könnte entfernt werden. Aber Sie sollten sich fragen, ob das notwendig/nützlich ist. Siehe http://stackoverflow.com/questions/780311/foo-com-alice-vs-foo-com-users-alice – Gumbo

+0

Ausgezeichnet, vielen Dank dafür! Genau das, wonach ich gesucht habe. Auch einige Dinge an die ich noch nicht gedacht hatte. – Jung