Last updated on August 10th, 2020 at 03:05 am
mod_rewrite is a useful Apache module that helps you rewrite URL and redirect pages in Apache web server. Here’s how to enable mod_rewrite for Apache in CentOS, Fedora, Redhat Linux and other platforms.
How To Enable mod_rewrite For Apache in CentOS
Here are the steps to enable mod_rewrite for Apache in CentOS
1. Check if mod_rewrite is already installed
CentOS 7 and later versions have mod_rewrite installed and enabled by default. Open terminal and run the following command to check if mod_rewrite is already enabled in your system
$ httpd -M | grep rewrite
If you see the output as:
rewrite_module (shared)
it means mod_rewrite is already enabled in your CentOS linux.
Bonus Read : How to Redirect Domain Without Changing URL
2. Enable mod_rewrite in Apache CentOS
If mod_rewrite is not enabled then open Apache’s default configuration file
$ sudo vi /etc/httpd/conf/httpd.conf
Look for the line
#LoadModule rewrite_module modules/mod_rewrite.so
and remove the # sign at its beginning, to enable mod_rewrite
LoadModule rewrite_module modules/mod_rewrite.so
If # is not present at the beginning, it means mod_rewrite is already enabled
If you don’t find the above line, just add it to the file
LoadModule rewrite_module modules/mod_rewrite.so
Bonus Read : How to Redirect Page to Another Domain
3. Enable .htaccess file in Apache on CentOS
.htaccess file allows you to set up URL rewrite and redirection rules without changing Apache configuration file. To enable .htaccess file in Apache, look for <Directory /var/www/html> section and change the AllowOverride directive from None to All:
. . . <Directory /var/www/html> . . . # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All . . . </Directory> . . .
Bonus Read : How to Set Apache Headers Conditionally
4. Restart Apache Server
Restart Apache server with following command
$ sudo systemctl restart httpd
Now mod_rewrite is enabled for Apache in CentOS
Bonus Read : How to Configure SSL Certificate in Apache Web Server
5. Create .htaccess File in Apache (Optional)
If you want, you can also create a .htaccess file to
$ sudo vi /var/www/html/.htaccess
This will open a new file. Add the following line at the top
RewriteEngine On
Below this line, you can add URL rewrite rules. For example, if you want users to be able to access /about page on your website without typing .html extension (/about.html) then you can add the following rule
RewriteRule ^about$ about.html [NC]
Save and Exit the .htaccess file. Restart Apache Server. Now you can easily rewrite URL and redirect pages in Apache on CentOS.
Ubiq makes it easy to visualize data in minutes, and monitor in real-time dashboards. Try it Today!
Sreeram Sreenivasan is the Founder of Ubiq. He has helped many Fortune 500 companies in the areas of BI & software development.