This module provides a rule-based rewriting engine to rewrite requested URLs on the fly. Let’s see how to set it up and working in a few steps.
It comes bundled with Apache HTTP Server. To install Apache server on Linux:
apt-get install apache2
or
yum install apache2
then enable the mod (not enabled by default)
a2enmod rewrite
Now we are going to enable application specific settings on the apache server.
- Go to /etc/apache2/sites-available/
- Open default for editing.
- Replace AllowOverride None with AllowOverride All
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
All left is to check if it’s working. Since we’re going to need PHP install it and restart apache.
apt-get install php5 libapache2-mod-php5 /etc/init.d/apache2 restart
Enter the root directory of the web app you want to use mod_rewrite with.
Make index.php:
<?php echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>
Open/Make a file .htaccess and add the following lines:
RewriteEngine on RewriteRule ^.*$ index.php
This rule will redirect everything that comes to your web app to index.php inside the same app, and print the full address.
E.g.
A good mod_rewrite cheat sheet can be found here. (courtesy of AddedBytes)