Мы можем использовать Apache IfModule
директива для проверки наличия или отсутствия определенного модуля. Apache также допускает вложенные IfModule
директивы, которые можно использовать для тестирования нескольких модулей, другими словами, мы можем реализовать логику AND
.
Можно ли еще реализовать логику OR
? Например, можно ли что-то использовать аналогичный к этому:
<IfModule mod_php5.c OR sapi_apache2.c>
# Some directives
</IfModule>
Вместо этого:
<IfModule mod_php5.c>
# Some directives
</IfModule>
<IfModule sapi_apache2.c>
# Absolutely same directives with mod_php.c
</IfModule>
Хотя это не идеально, вы можете поместить нужные директивы в отдельный файл, а затем Include
его в соответствующих местах. Я не верю, что есть способ выполнить логическое ИЛИ в одном IfModule
заявление.
Вот что я придумал:
<IfModule mod_php5.c>
# Some directives
</IfModule>
<IfModule sapi_apache2.c>
<IfModule !mod_php5.c>
# Absolutely same directives with mod_php.c
</IfModule>
</IfModule>
<IfModule>
разделы могут быть вложенными, что может использоваться для реализации простых многомодульных тестов.
http://httpd.apache.org/docs/2.4/mod/core.html#ifmodule
Не уверен, с каких пор это будет доступно.