How to enable mod_rewrite on Apache 2.4?

Jonathan Solorzano picture Jonathan Solorzano · Jun 15, 2015 · Viewed 75.7k times · Source

I'm using Wordpress and wanted to enable pretty urls feature, but they don't work, i'm thinking that it's because of mod_rewrite, but i don't know how to enable it on Apache 2.4 under CentOS 7...

I've already try this:

grep -i LoadModule /etc/httpd/conf/httpd.conf | grep rewrite

but nothing... Also would like to know it loading all Apache modules has any bad consequence or is it bad practice?

Answer

Jonathan Solorzano picture Jonathan Solorzano · Jun 16, 2015

I found the way to know if a module is loaded or not, here's to command to list the modules enabled:

apachectl -M | sort

It will list all enabled modules alphabetically.

Wordpress has an .htaccess but default where it enables rewrite_module for its use:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

The only thing that i had to do was add this to the vhost.conf file at /etc/httpd/conf.d/vhosts.conf

<Directory /var/www/mysite>
    Options Indexes FollowSymLinks
    Require all granted
    AllowOverride All
</Directory>

That's because I'm handling my hosts in that file. But it could be done at httpd.conf, or any other .conf file that is Included to the httpd.conf

Thanks...