How to mod_rewrite Enable in Apache Ubuntu 18.04/20.04/22.04

How to mod_rewrite Enable in Apache Ubuntu 18.04/20.04/22.04

The apache Mod_rewrite is very popular for rewriting human-readable URLs in dynamic websites. This makes the URL’s look cleaner and SEO friendly on websites. In this tutorial, we will show you how to enable the Apache 2 mod_rewrite module and configure it for use .htaccess files available with apache ubuntu web server.

If you are installed the lastest Apache 2 server. At that time mod_Rewrite module is not enabled by default on apache 2. So, you can use the below given easy steps and enable/activate mod_rewrite in apache 2 server within minutes.

How to mod_rewrite Enable in Apache Ubuntu 18.04/20.04/22.04

Let’s use the following steps to enable mod_rewrite in apache ubuntu:

Step 1 – Install Apache 2

If you are not installed apache 2 in ubuntu. So, you can use the following command to install apache 2 web server:

sudo apt-get update
sudo apt-get install apache2

Step 2 – Enable mod_rewrite Apache By a2enmod Command

If you want to enable mod_rewrite apache in ubuntu. So, you can connect your instance or web server to ssh terminal. And then type a2enmod command to enable any modules in Apache 2 web server:

sudo a2enmod rewrite

Step 3 – Allow .htaccess File for VirtualHost

After successfully enable the Apache 2 rewrite module. Then you need to add this “AllowOverride All” in your VirtualHost configuration file.

Note that – The main reason is to enable or allow .htaccess file in the Apache server. Because it does not allow by default. So, you can not use of ‘.htaccess’ file.

So, open your terminal and type the following command:

sudo nano /etc/apache2/sites-available/000-default.conf

Then you need to add this “AllowOverride All” in your VirtualHost configuration file like below

<VirtualHost *:80>
    DocumentRoot /var/www/html
<Directory /var/www/html>
 Options Indexes FollowSymLinks
 AllowOverride All

Step 4 – Restart Apache 2

If you have follow above 3 steps successfully. Now, You need to restart Apache 2 server to restart all configuration to the running environment.

sudo systemctl restart apache2

Congratulation!! you have successfully enable/allow mod_rewrite in apache 2 web server.

Recommended Tutorials


Greetings, I'm Devendra Dode, a full-stack developer, entrepreneur, and the proud owner of My passion lies in crafting informative tutorials and offering valuable tips to assist fellow developers on their coding journey. Within my content, I cover a spectrum of technologies, including PHP, Python, JavaScript, jQuery, Laravel, Livewire, CodeIgniter, Node.js, Express.js, Vue.js, Angular.js, React.js, MySQL, MongoDB, REST APIs, Windows, XAMPP, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL, and Bootstrap. Whether you're starting out or looking for advanced examples, I provide step-by-step guides and practical demonstrations to make your learning experience seamless. Let's explore the diverse realms of coding together.

Leave a Reply

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