Enable mod_rewrite in Ubuntu 8.04
Mod_rewrite is an apache module which enables rewriting of urls requested by client before the pages are fetched by apache. For example www.site.com/products.php?code=459 can be written as www.site.com/products/459 or www.site.com/products/459.html . The second url is re-written into the first one by mod_rewrite using rewrite rules specified in the .htaccess file.
To enable the mod_rewrite :
sudo a2enmod rewrite
To disable this module :
sudo a2dismod rewrite
Next edit the file :
/etc/apache2/sites-enabled/000-default or /etc/apache2/sites-available/default
Look for the section :
<directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </directory>
Replace the AllowOverride None with AllowOverride FileInfo as :
<directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Order allow,deny allow from all </directory>
Now restart apache
sudo /etc/init.d/apache2 restart
Now place an .htaccess file in say /var/www/ folder to test mod rewrite
To test whether mod_rewrite is working or not , fill the .htaccess file with some garbage text save and then open some file of that folder in the browser. You should get a 500 Internal Server Error and a .htaccess error in the apache log file. This shows that now mod_rewrite is enabled.
Now put some rewrite rules in the .htaccess file
RewriteEngine on RewriteRule ^([0-9]+).html$ index.php?id=$1
which should replace a folder/23.html to folder/index.php?id=23 for example.
Resources :
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
http://httpd.apache.org/docs/1.3/howto/htaccess.html
http://httpd.apache.org/docs/1.3/configuring.html#htaccess
http://httpd.apache.org/docs/2.2/howto/htaccess.html
http://wiki.apache.org/httpd/DistrosDefaultLayout
Popularity: 7% [?]
















It worked!!
Thanks.
Awesome! That fixed a problem that had cost me hours of frustration. Thanks!
I love you man! I spent hours tweaking config files and modules, and this line saved me
“AllowOverride FileInfo”
Instead of allowing all, do this. Worked for me. <3