Как включить mod_rewrite на Apache 2.4?

Я использую WordPress и хочу включить функцию довольно URL-адресов, но они не работают, я думаю, что это из-за mod_rewrite, но я не знаю, как включить его на Apache 2.4 под CentOS 7 …

Я уже пробовал:

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

но ничего … Также хотел бы знать, что загрузка всех модулей Apache имеет какие-то плохие последствия или это плохая практика?

Я нашел способ узнать, загружен ли модуль или нет, вот команда, чтобы список включенных модулей:

 apachectl -M | sort 

Он будет перечислять все включенные модули в алфавитном порядке.

WordPress имеет .htaccess, но по умолчанию, где он позволяет использовать rewrite_module для его использования:

 # 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 

Единственное, что мне нужно было сделать, это добавить это в файл vhost.conf в /etc/httpd/conf.d/vhosts.conf

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

Это потому, что я обрабатываю свои хосты в этом файле. Но это можно сделать в httpd.conf или любом другом .conf файле, который включен в httpd.conf

Благодаря…

 # nano /etc/httpd/conf/httpd.conf 

найти

 follow (AllowOverride none) 

и изменить его

 (AllowOverride All) 

Apache2 поставляется с исполняемыми a2enmod и a2dismod которые будут выполнять всю «грязную работу» с символическими файлами conf.

В дистрибутивах на основе Debian обычно используется /etc/apache/mods-available/ . Ниже приведены файлы конфигурации .conf (если применимо) и файл .load на модуль с директивой LoadModule Apache2. Модуль включен, если есть символическая ссылка на файл .load в файле /etc/apache2/mods-enabled/ .

Например, вы должны включить модуль Rewrite с командой

 $ a2enmod rewrite 

В httpd.conf найдите AllowOverride None и измените его на AllowOverride All , затем перезапустите apache

для перезаписи модуля просто проверьте этот шаг пошаговый учебник, посвященный включению перезаписи модуля в wamp apache https://youtu.be/xIspOX9FuVU?t=1m43s
Значок сервера Wamp -> Apache -> Модули Apache и отметьте как проверить параметр перезаписи
после этого вы сможете использовать переписывание URL-адресов