How to Enable mod_rewrite Apache module on Ubuntu

The mod_rewrite module is an Apache module that provides the ability to manipulate URLs using regular expressions. It is commonly used to create clean URLs and to redirect URLs to different pages. In this guide, we will go through the steps to enable mod_rewrite on Ubuntu.

Step 1: Check if mod_rewrite is Installed

Before enabling mod_rewrite, you need to check if it is installed on your Ubuntu machine. To do this, open a terminal and type the following command:

apache2ctl -M | grep rewrite

If the mod_rewrite module is installed, you should see “rewrite_module” in the output. If it is not installed, you can proceed with the next step to install it.

See also  How to Install wget on Linux (Ubuntu, CentOS, RHEL, Fedora)

Step 2: Install mod_rewrite

To install the mod_rewrite module, you can use the following command:

sudo a2enmod rewrite

This command will enable the mod_rewrite module on your Ubuntu machine.

Step 3: Restart Apache

After enabling the mod_rewrite module, you need to restart the Apache web server to apply the changes. You can do this by using the following command:

sudo service apache2 restart

This will restart the Apache web server.

Step 4: Configure .htaccess File

To use mod_rewrite, you need to configure the .htaccess file in your web root directory. You can create a .htaccess file by using the following command:

sudo nano /var/www/html/.htaccess

This command will open the .htaccess file in the nano text editor. You can add the following code to enable mod_rewrite:

RewriteEngine on
RewriteRule ^(.*)$ index.php/$1 [L]

This code will redirect all requests to the index.php file.

See also  How to Install PyOpenGL package on Linux

Step 5: Verify the Configuration

To verify that mod_rewrite is enabled and working correctly, you can test it by creating a test.php file with the following code:

echo "mod_rewrite is working";

Save the file and access it in your web browser by navigating to http://localhost/test.php. If mod_rewrite is working correctly, you should see the message “mod_rewrite is working” on the page.

Commands Mentioned:

  • sudo – a command that allows users to run programs with the security privileges of another user, typically the superuser.
  • a2enmod – a command that enables an Apache module.
  • service – a command used to control system services.
  • nano – a command-line text editor.
See also  How to Install mod_security Apache Module


In this guide, we have outlined the steps to enable mod_rewrite on Ubuntu. By following these steps, you can now use mod_rewrite to create clean URLs and to redirect URLs to different pages. If you have any questions or suggestions, feel free to comment below.


Leave a Reply

Your email address will not be published. Required fields are marked *