Apache 2.4 SSI в Ubuntu 13.04
У меня есть сервер Ubuntu 13.04, у которого был нормальный стандартный Apache 2.2 с работающим SSI. Я получил ошибку в моем ухе, и установил ppa:rhardy/apache24x
PPA для обновления моего сервера Apache 2.4.
Хотя это не было чистое обновление, я получил большинство изломов отработано.
Тем не менее, я до сих пор не могу понять, как заставить работать серверные включения. Все выглядит хорошо, но когда я попал на один из моих сайтов, обслуживаемых этим сервером, который использует SSI, он не работает.
я имею /etc/apache2/mods-enabled/include.load
символическая ссылка на /etc/apache2/mods-available/include.load
Файл конфигурации моего сайта выглядит так:
<VirtualHost *>
ServerAdmin webmaster@myserver.com
ServerName www.myserver.com
ServerAlias myserver.com
DocumentRoot /var/www/myserver
<Directory />
Options +Indexes +FollowSymLinks +IncludesNOEXEC
AllowOverride None
XBitHack On
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</Directory>
</VirtualHost>
внутри /var/www/myserver
:
-rwxr-xr-x 1 mike mike 776 Feb 20 2012 index.shtml*
И содержимое файла начинается с SSI:
<!--#include virtual="/include/header.html"-->
Я перезапустил сервер после всех изменений конфигурации, и все еще не работает SSI. Что мне не хватает?
Благодарю.
1 ответ
Похоже, есть разница в том, как Apache 2.2 обрабатывает <Directory>
записи, которые соответствуют DocumentRoot
против того, как 2,4 делает.
В 2.2 следующий код:
DocumentRoot /var/www/myserver
<Directory />
[...]
</Directory>
будет применять любую из директив (таких как Options
а также XBitHack
) к /var/www/myserver
каталог и файлы в нем.
В 2.4 конфигурация должна измениться на это:
DocumentRoot /var/www/myserver
<Directory /var/www/myserver>
[...]
</Directory>
а потом apache2ctl restart
, а затем SSI снова будут работать.