Forum

How To Enable mod_rewrite For Apache in CentOS

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.

Reply to this topic Share on my timeline

1 Replies

Avatar

auspiciouszesty fauly·

backrooms game rapid gameplay make it an exhilarating option for anyone pursuing a multiplayer racing challenge