тел.: 8(961)008-77-55

Потратил минут 20, пока нашел, почему не работает модуль apache mod_rewrite в Ubuntu 16.04

проверьте в конфигурационном файле /etc/apache2/apache.conf значение директивы AllowOverride

нужно

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

было

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

Предварительно (или потом) нужно включить модуль mod_rewrite командой:

sudo a2enmod rewrite

Проверить подключенные модули можно командой apachectl -M , должно быть что похожее:

core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
mime_module (shared)
mpm_prefork_module (shared)
negotiation_module (shared)
php7_module (shared)
rewrite_module (shared)
setenvif_module (shared)
status_module (shared)

И перезапустить apache:

sudo systemctl restart apache2

Теперь можно настроить перенаправление в файле .htaccess :

# перенаправление всех запросов в файл index.php
#разрешаем перенаправление
RewriteEngine on
#записываем базовую папку сайта
RewriteBase /php/
#правило перенаправления
RewriteRule ^(.*)$ index.php

Комментарии  

0 # fly 31.10.2018 13:08
sudo a2enmod rewrite
sudo systemctl restart apache2
Ответить | Ответить с цитатой | Цитировать

Добавить комментарий