Posted by Arjun Arjun on Thursday 21st September 2017, 1 minute read

Enable and Configure mod_rewrite for Apache on CentOS 7

apache How to CentOS mod_rewrite

The mod_rewrite module is enabled by default on CentOS 7. If you find it is not enabled on your server, you can enable it by editing 00-base.conf file located in /etc/httpd/conf.modules.d/ directory.

    sudo vi /etc/httpd/conf.modules.d/00-base.conf

Add or uncomment the following line:

LoadModule rewrite_module modules/mod_rewrite.so

Save and close the file, then restart the httpd service:

sudo systemctl restart httpd

Once the mod_rewrite module has been activated, you can set up your URL rewrites by creating an .htaccess file in your default document root directory. A .htaccess file allows us to modify our rewrite rules without accessing server configuration files. For this reason, .htaccess is critical to your web server. Before we begin, we need to allow Apache to read .htaccess files located under the /var/www/html directory.

You can do this by editing httpd.conf file:

sudo vi /etc/httpd/conf/httpd.conf

Find the section and change AllowOverride None to AllowOverride All.

 
    AllowOverride All
 

Save and exit.

Now restart Apache to put the change into effect:

sudo systemctl restart httpd
...
Arjun

I am Arjun from Hyderabad (India). I have been working as a software engineer from the last 7+ years, and it is my passion to learn new things and implement them as a practice. Aside from work, I like gardening and spending time with pets.