How to enable mod_rewrite on Apache 2.4?
In httpd.conf, search for AllowOverride None and change it to AllowOverride All, then restart apache
# nano /etc/httpd/conf/httpd.conf
find
follow (AllowOverride none)
and change it
(AllowOverride All)
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...
Apache2 ships with executables a2enmod
and a2dismod
that will do all the "dirty work" of symlinking conf files.
On Debian based distros, the usual location is /etc/apache/mods-available/
. Here are the .conf configuration files (when applicable) and a .load file per module with the LoadModule
Apache2 directive. A module is enabled if there is a symlink to its .load file in the /etc/apache2/mods-enabled/
.
You would, for example, enable the Rewrite module with command
$ a2enmod rewrite