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

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

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

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

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

5 ответов


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

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 это сделает всю "грязную работу" файлов symlinking conf.

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

вы, например, включите модуль перезаписи с помощью команды

$ a2enmod rewrite

на httpd.conf поиск AllowOverride Нет и меняем его на AllowOverride Все, затем перезапустите apache


для модуля перезаписи просто проверьте этот youtube шаг за шагом учебник, связанный с включить модуль перезаписи в wamp apache https://youtu.be/xIspOX9FuVU?t=1m43s
WAMP server icon - > Apache - > Apache Modules и отметьте как проверить опцию перезаписи модуля
после этого вы можете использовать перезапись url