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!
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.
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:
a2enmod rewrite
2. Restart the Apache web server:
/etc/init.d/apache2 restart
3. 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.