问题
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?
回答1:
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...
回答2:
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
回答3:
# nano /etc/httpd/conf/httpd.conf
find
follow (AllowOverride none)
and change it
(AllowOverride All)
回答4:
In httpd.conf, search for AllowOverride None and change it to AllowOverride All, then restart apache
回答5:
Yes, changing from "Override None" to "Override All" made it work:
On Debian 10 config file is here:
/etc/apache2/apache2.conf
I don't know the security risks, but it works!
回答6:
for rewrite module just check this youtube step by step tutorial related to enable rewrite module in wamp apache https://youtu.be/xIspOX9FuVU?t=1m43s
Wamp server icon -> Apache -> Apache Modules and mark as check the rewrite module option
after that you can able to use url rewriting
来源:https://stackoverflow.com/questions/30855651/how-to-enable-mod-rewrite-on-apache-2-4