Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get username from URL in PHP

Tags:

url

php

parsing

i want something like this:

http://www.someniceandreliableurl.com/username

and catch the username.

I want to make something like twitters/facebook/etc quick urls...

twitter.com/username

How can i make something like this with php? =) thank you in advance.

like image 715
pojomx Avatar asked May 06 '10 20:05

pojomx


3 Answers

Use mod_rewrite in your .htaccess file:

RewriteEngine on
RewriteOptions MaxRedirects=1
RewriteCond %{REQUEST_FILENAME} -f [NC,OR] 
RewriteCond %{REQUEST_FILENAME} -d [NC] 
RewriteRule .* - [L]
RewriteRule ^(.*)$ /foo.php/$1 [QSA,L]

Where foo.php is your script for showing the quick url pages.

Then in foo.php (or whatever you named it) you can catch the username in $_SERVER['PATH_INFO'].

The first 5 lines turn on mod_rewrite and allow actual files/folders/scripts to be ignored by the rewrite rule. The last one rewrites all the urls that aren't fines/folders/scripts.

like image 61
Joshua Avatar answered Oct 17 '22 17:10

Joshua


You can use a RewriteRule in apache to transform a site.com/user to be site.com/loadpage.php?user=user

RewriteEngine On
RewriteRule ^/([a-z0-9]+)  /load_user.php?user=$1 [NC,L,QSA]
like image 26
Mitch Dempsey Avatar answered Oct 17 '22 19:10

Mitch Dempsey


You need to ask the webserver to rewrite that url to a query string with data that you can access from PHP. Do your PHP script to work with urls like

http://www.someniceandreliableurl.com/?user=username

Then ensure that apache have mod_rewrite installed and that you are allowed to use .htaccess. Then create a .htaccess file with a rewrite rule, like

RewriteEngine On
RewriteRule   ^/(.*)$ /?user=$1 [QSA]
like image 1
Johan Avatar answered Oct 17 '22 18:10

Johan