In order to be able to use RewriteEngine to rewrite URLs you will need to have mod_rewrite installed for Apache. To Install it enter the line of code below into terminal. The following line will install for CentOS. This command may differ for different Linux distributions.
yum provides \*mod_rewrite\*
Once installed you will need to open your httpd.conf file which should be located in /etc/httpd/conf/httpd.conf. Scroll down and make sure the mod_rewrite module is uncommented. Note: There will be a # in front of the line if it is commented out. Remove the # if it is there.
LoadModule rewrite_module modules/mod_rewrite.so
The final step is to allow URLs to be rewritten in your websites directory. E.G. If your site is located in /var/www/html you will need to look for a DocumentRoot block that contains the path. This was listed twice for me so make sure you check to see there isnt a DocumentRoot entry for your path more than once.
DocumentRoot "/var/www/html" <Directory /> Options FollowSymLinks AllowOverride none </Directory>
You need to change this to
<Directory /> Options FollowSymLinks AllowOverride All </Directory>
Now restart apache and you should be able to add rewrite rules to your .htaccess file.
service httpd restart