Mahbub Rashid Tonoy
Mahbub Rashid Tonoy

Reputation: 95

how to get PHP Smart URL

My website has URL like this

domain.com/profile.php?id=your_profile_id

now how do i turn it into URL like this

domain.com/profile/your_profile_id

I tried this thing in .htaccess

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]

and it's just helps me to remove .php extension. not the exact thing what i want. Thanks in advance. have a great day.

Upvotes: 2

Views: 185

Answers (2)

Shubham Dange
Shubham Dange

Reputation: 182

what you want to do actually? see if you want to show result as per URL on none existing page / 404 page code on 404 page , if you just want URL for statements you can go with simple $_SERVER['REQUEST_URI'];

after fetching URL perform such

$myURL = $_SERVER['HTTP_REFERER']; // e.g https://www.anything.com/profile.php?id=your_profile_id

$myURL = str_replace("https://","",$myURL );
$myURL = str_replace("http://","",$myURL );
$myURL = str_replace("www.","",$myURL );
$myURL = str_replace(".php","",$myURL );
$myURL = str_replace("?","/",$myURL );
$myURL = str_replace("id=","",$myURL );

output : anything.com/profile/your_profile_id

Upvotes: 0

RavinderSingh13
RavinderSingh13

Reputation: 133750

With your shown samples, please try following rules. Please make sure to place your htaccess file along with your profile.php file.

Also please make sure to clear your browser cache before testing your URLs.

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/(.*)/?$ $1.php?id=$2 [QSA,L]

Upvotes: 3

Related Questions