Назад | Перейти на главную страницу

Apache 2.4 по проблеме Debian - «Запрещено» после обновления виртуального хоста

Я пробовал много предложений, которые могу найти через Google, чтобы мой виртуальный хост работал должным образом после обновления с Debian до Jessie (обновление с Apach 2.2 до 2.4).

У меня есть mod_rewrite и mod_access_compat, поэтому кажется, что он работает нормально, когда я использую старый синтаксис. Как только я пойду в Require all granted, он перестает работать, и я получаю 403 Forbidden.

У меня много виртуальных хостов, и то же самое во всех отношениях ... большинство из них - установки Drupal. Вот пример виртуального хоста:

<VirtualHost *:80>
    ServerName www.skyjacobs.com
    Redirect 301 / http://skyjacobs.com/
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin skyjacobs@gmail.com
    ServerName skyjacobs.com
DocumentRoot /www/sky
<Directory /www/sky>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny  # These 2 lines work 
        allow from all    # 
        Require all granted   # If I use this line only, it stops working
</Directory>
    ErrorLog /www/logs/sky/error.log
    LogLevel warn
    CustomLog /www/logs/sky/access.log combined
</VirtualHost>

Если я закомментирую 2 строки старого синтаксиса и использую Require all granted, он перестает работать. Кто-нибудь знает, в чем может быть проблема? Спасибо за любые подсказки.

Вы используете неправильный модуль для своей конфигурации. По документации существует 2 модуля.

  • mod_access_compat который является модулем совместимости для старого синтаксиса
  • mod_access_host это новый модуль с новым синтаксисом

Если вы хотите перейти на новый синтаксис, вы должны включить mod_access_host и отключить mod_access_compat. В противном случае вы могли бы остаться на старом синтаксисе с mod_access_compat.