htaccess RewriteRule Examples

Here are some useful mod_rewrite RewriteRule redirect examples that you can use in your .htaccess file.

You can also visit Forcing HTTP requests to HTTPS with .htaccess and our Online .htaccess File Generator.

Example 1

Original URL:
http://www.domain.com/product.php?id=15

Rewritten URL:
http://www.domain.com/15.php

Rule for .htaccess:

RewriteEngine On
RewriteRule ^([^/]*)\.php$ /product.php?id=$1 [L]

Example 2

Original URL:
http://www.domain.com/product.php?id=15

Rewritten URL:
http://www.domain.com/product15.php

Rule for .htaccess:

RewriteEngine On
RewriteRule ^product([^/]*)\.php$ /product.php?id=$1 [L]

Example 3

Original URL:
http://www.domain.com/product.php?cat=5&id=15

Rewritten URL:
http://www.domain.com/5/15.php

Rule for .htaccess:

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)\.php$ /product.php?cat=$1&id=$2 [L]

Example 4

Original URL:
http://www.domain.com/product.php?cat=5&id=15

Rewritten URL:
http://www.domain.com/5-15.php

Rule for .htaccess:

RewriteEngine On
RewriteRule ^([^-]*)-([^-]*)\.php$ /product.php?cat=$1&id=$2 [L]

Example 5

Original URL:
http://www.domain.com/product.php?category=vehicles&product=bus

Rewritten URL:
http://www.domain.com/product/vehicles/bus.php

Rule for .htaccess:

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)\.php$ /product.php?category=$1&product=$2 [L]

Example 6

Original URL:
http://www.domain.com/cgi-bin/shop.php?cmd=product&category=vehicles&product=bus

Rewritten URL:
http://www.domain.com/product/vehicles/bus.php

Rule for .htaccess:

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.php$ /cgi-bin/shop.php?cmd=$1&category=$2&product=$3 [L]

Example 7

Original URL:
http://www.domain.com/cgi-bin/shop.php?cmd=product&category=vehicles&product=bus

Rewritten URL:
http://www.domain.com/shop/product/vehicles/bus.php

Rule for .htaccess:

RewriteEngine On
RewriteRule ^shop/([^/]*)/([^/]*)/([^/]*)\.php$ /cgi-bin/shop.php?cmd=$1&category=$2&product=$3 [L]

Example 8

Original URL:
http://www.domain.com/cgi-bin/shop.php?cmd=product&category=vehicles&product=bus

Rewritten URL:
http://www.domain.com/shop-vehicles-bus.php

Rule for .htaccess:

RewriteEngine On
RewriteRule ^shop-([^-]*)-([^-]*)\.php$ /cgi-bin/shop.php?cmd=product&category=$1&product=$2 [R=301,L]

Example 9

The following rewrite rule utilizes ^$ to represent the root and rewrite that to your /shop directory.

Original URL:
http://www.domain.com/

Rewritten URL:
http://www.domain.com/shop

Rule for .htaccess:

RewriteEngine On
RewriteRule ^$ /shop [R=301,L]

General Notes

[L] - Stops any later rewrite rules from affecting this URL.
[R=301,L] - Performs a 301 redirect and also stops any later rewrite rules from affecting this URL.

  • apache
  • 4 Users Found This Useful
Was this answer helpful?

Related Articles

How to Create Sudo User on CentOS

This article provides step-by-step setup guide for adding Sudo user to CentOS system. The sudo...

How to Use Sudo

This article provides a guide to using a Sudo user on CentOS server. From the command line,...

Set Server Time Zones with Timedatectl

This article provides a guide to setting the server time and server time zone settings using...

Using htaccess File to Block IPs

If your webserver is Apache, you may block access to your website from specific IP addresses...

Enable Browser Caching with htaccess File

Enable browser caching to reduce website loading times, by taking advantage of caching of...