Я использую Apache 2.4 и Server Side Includes.
Когда я использую это:
<!--#echo var="DOCUMENT_URI" -->
Возвращает: /foo/bar/file.html
Я хочу захватить части URI, а именно:
<!--#if expr='v("DOCUMENT_URI") =~ [\/\\](.+)[\/\\](.+)[\/\\](.+)[.]'-->
<!--#set var='URI_PART1' value='$1' -->
<!--#set var='URI_PART2' value='$2' -->
<!--#set var='URI_PART3' value='$3' -->
<!--#else -->
<!--#endif -->
Я пробовал много вариантов, но никак не могу заставить Apache распознавать регулярное выражение. Я ожидал, что будут записаны «foo», «bar» и «file», но вместо этого получил сообщение об ошибке [произошла ошибка при обработке этой директивы].
Я знаю, что синтаксис изменился со времен Apache 2.4, и вышеизложенное - это то, что я придумал, основываясь на моем понимании нового синтаксиса.
Любая помощь приветствуется!
/^(.*)\./
и установить переменную как<!--#set var="mypath" value="$1" -->
(возможно, вы можете добавить косую черту после$1
, если нет, объедините позже). - person Wiktor Stribiżew   schedule 01.02.2017