DEV Community

Devtonight
Devtonight

Posted on • Originally published at devtonight.com

How To Enable Apache mod_rewrite Module In Ubuntu

Apache mod_rewrite module helps you to manipulate URLs. For example in WordPress, instead of accessing a blog post by https://example.com/?p=1, you can use the mod_rewrite module to access that post with an SEO friendly pretty URL such as https://example.com/my-first-post. Also, the mod_rewrite module can be used for complex conditional URL redirections.

Activate the Apache mod_rewrite module with the following command.

sudo a2enmod rewrite
Enter fullscreen mode Exit fullscreen mode

But still, it will not work as we have to override the Apache global configuration. For that, open the 000-default.conf file in /etc/apache2/sites-available/ directory.

nano /etc/apache2/sites-available/000-default.conf
Enter fullscreen mode Exit fullscreen mode

You will be able to see a file similar to this (comments removed for simplicity).

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
Enter fullscreen mode Exit fullscreen mode

Add the <Directory /var/www/> code block into it, now the final file should be something similar to the following example.

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

         <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
         </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
Enter fullscreen mode Exit fullscreen mode

Restart the Apache server to make changes effective.

sudo service apache2 restart
Enter fullscreen mode Exit fullscreen mode

Now you can use a .htaccess file to mention the necessary rewrite instructions. You can find more information about the Apache mod_rewrite module in their documentation.

Feel free to visit devtonight.com for more related content.

Discussion (0)