Я использую 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-адресов