Hosting Knowledge Base

Home » Knowledge Base » General Information » How-To » How to use mod_rewrite (RewriteRule/RewriteCond)

Knowledge Base

Sign up for FREE now!

Mod_Rewrite

 

In this tutorial, we are going to walk you through the process of enabling mod_rewrite on your AwardSpace web server.

 

What is Mod_Rewrite?

Mod_rewrite is an Apache module that helps you perform redirects and define rewrite rules with the use of a .htaccess file.

For more detailed information, please visit the official Apache Module mod_rewrite page.

 

How Can I Enable the Apache Rewrite Module on a Shared Hosting Account?

The Apache module mod_rewrite comes preinstalled with all shared hosting plans. Therefore, you will not be required to perform any manual installation of the module on the server.

Start a website with a 99.9% uptime!

Prices starting at $35.88$42.7033.48€39.84€/year!

In order to enable the rewrite module on your website, make sure that your .htaccess contains the following two lines of code:

  RewriteEngine On
  RewriteBase /

 

At the end, your code should look similar to the following:

  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]

 

Note: If you have installed your application in a sub-directory of your domain name (domain.com/site/ for example), it will be necessary to make a couple slight modifications to the code:

  RewriteEngine On
  RewriteBase /site/
  RewriteRule ^index\.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /site/index.php [L]

 

Please make sure that you replace site with your actual directory name.

 

How Can I Enable the Rewrite Module on a VPS Server?

On a Debian/Ubuntu server, the Apache rewrite module is installed, but not enabled by default.

Get your own private server now!

Prices starting at $10.00$11.9010.00€11.90€/month!

If you have an active VPS account and wish to enable mod_rewrite on your web server, you should perform the following steps:

  1. Log into your VPS account via SSH and execute the following command in Terminal:
  2.   a2enmod rewrite

     

  3. Restart the Apache web server:
  4.   /etc/init.d/apache2 restart

     

  5. Locate the main .htaccess file in your web application’s root directory, and then copy and paste the below code into it:
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]

 

Save the changes you have just made and re-test your application.