5 useful url rewriting examples using .htaccess

If you are looking for the examples of URL rewriting
then this post might be useful for you.

Now let’s look at the examples:

1)Rewriting product.php?id=12 to product-12.html

It is a simple redirection in which .php extension
is hidden from the browser’s address bar and dynamic url (containing
“?” character) is converted into a static URL.

RewriteEngine on

RewriteRule ^product-([0-9]+)\.html$ product.php?id=$1

2) Rewriting product.php?id=12 to product/ipod-nano/12.html

SEO expert always suggest to display the main keyword in the URL. In
the following URL rewriting technique you can display the name of the
product in URL.

RewriteEngine on

RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+)\.html$ product.php?id=$2

3) Redirecting non www URL to www URL

If you type yahoo.com in browser it will be
redirected to http://www.yahoo.com. If you want to do same with your website
then put the following code to .htaccess file. What is benefit of this
kind of redirection?? Please check the post about SEO friendly redirect (301) redirect in php and .htaccess.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^optimaxwebsolutions\.com$

RewriteRule (.*) http://www.optimaxwebsolutions.com/$1 [R=301,L]

4) Rewriting yoursite.com/user.php?username=xyz to yoursite.com/xyz

Have you checked zorpia.com.If you type
http://zorpia.com/roshanbh233 in browser you can see my profile over
there. If you want to do the same kind of redirection i.e
http://yoursite.com/xyz to http://yoursite.com/user.php?username=xyz
then you can add the following code to the .htaccess file.

RewriteEngine On

RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1

RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$1

5) Redirecting the domain to a new subfolder of inside public_html.

Suppose the you’ve redeveloped your site and all the
new development reside inside the “new” folder of inside root
folder.Then the new development of the website can be accessed like
“test.com/new”. Now moving these files to the root folder can be a
hectic process so you can create the following code inside the
.htaccess file and place it under the root folder of the website. In
result, http://www.test.com point out to the files inside “new” folder.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^test\.com$ [OR]

RewriteCond %{HTTP_HOST} ^www\.test\.com$

RewriteCond %{REQUEST_URI} !^/new/

RewriteRule (.*) /new/$1

Resource: Roshan’s Blog


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s