У меня есть сайт со следующей конфигурацией:
<VirtualHost *:80>
ServerName example.it
<Location />
SetHandler uwsgi-handler
uWSGISocket /var/sitedir/moin.sock
</Location>
<Location /piwik/>
SetHandler application/x-httpd-php
</Location>
<Directory "/var/piwik/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Require all granted
SetHandler application/x-httpd-php
</Directory>
Alias /piwik/ "/var/piwik/"
</VirtualHost>
... включая вики-страницу moinmoin и экземпляр Matomo; но после некоторого обновления системы, когда я захожу http://example.it/piwik
, Я получаю источник из index.php
файл внутри /var/piwik/
- не выполнено.
Я знаю, что это говорит о какой-то проблеме с php, но если я удалю два Location
разделов, Matomo отлично работает с http://example.it/piwik
(Мойнмойн явно перестает работать). Так что это действительно проблема этой конфигурации. Если вместо этого я удалю только второй Location
раздел (Матомо), то http://example.it/piwik
обслуживается uwsgi (Moinmoin).
Подводя итоги,
Directory
раздел, то его SetHandler
директива делает свое дело./piwik/
не имеет своего Location
, то SetHandler
внутри его Directory
раздел не соблюдается: это как и ожидалось, поскольку Location
разделы должны иметь приоритет перед Directory
разделы./piwik/
действительно есть свой Location
, то его SetHandler
заявление должен будьте честны, потому что это придет позже. А на самом деле что-то происходит, потому что запрос не обслуживается uwsgi. Но это тоже не php.Что не так? Обратите внимание, что я уверен, что Мойнмойн и Матомо работали нормально до обновления системы, и хотя я больше не уверен, как именно был файл конфигурации, я почти уверен, что пробовал все комбинации, включая ту, которая раньше работала.
РЕДАКТИРОВАТЬ: связано, но не объясняет мою проблему: Как Apache объединяет несколько совпадающих разделов Location