joostdelange
joostdelange

Reputation: 123

Rewrite Rule for id .htaccess

Is there any possibility to rewrite url's with get variables globally, instead of specific files?

Changing

http://example.com/{something}?id=1

To:

http://example.com/{something}/id/1

Or without the word id:

http://example.com/{something}/1

This is what I got so far:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.phtml
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.phtml
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$

With this I could remove the .phtml extension

I hope there is a specific answer for this!

Upvotes: 1

Views: 1164

Answers (1)

Abhishek Gurjar
Abhishek Gurjar

Reputation: 7476

I am assuming something to be a php file,

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)/id/([\d]+)$ $1.php?id=$2 [L] #with id in between

or

RewriteRule ^([\w-]+)/([\d]+)$ $1.php?id=$2 [L] #without id in between

You have to make sure rules are not conflicting.

Upvotes: 1

Related Questions