Директива
If
может использоваться для предоставления условия для обработчика, который будет добавлен только для файлов, соответствующих шаблону в текущей папке.
В следующем примере будет добавлен обработчик только для файлов в документе root, таких как /sitemap.xml
и /opensearch.xml
, но не для /folder/sitemap.xml
и /folder/opensearch.xml
<FilesMatch ^(opensearch|sitemap)\.xml$>
<If "%{REQUEST_URI} =~ m#^\/(opensearch|sitemap)\.xml$#">
AddHandler application/x-httpd-php .xml
</If>
</FilesMatch>
В приведенном выше примере условие проверяет, что REQUEST_URI
соответствует шаблону регулярных выражений , ограниченному m#
#
. Оператор сравнения ~=
проверяет соответствие строки регулярному выражению.
Шаблон ^\/(opensearch|sitemap)\.xml$
соответствует REQUEST_URI
переменная (компонент пути запрошенного URI), например /opensearch.xml
или /sitemap.xml
^ # startwith
\/ # escaped forward-slash
(opensearch|sitemap) # "opensearch" or "sitemap"
\. # .
xml # xml
$ # endwith