Некоторые из выражений в Server Side Include больше не работает после того, как я модернизировал сервер от версии 2.2 до 2.4, что дает мне ряд ошибок:Как работает выражение в apache 2.4?
AH01337: Невозможно разобрать выраж «$ SERVER_NAME = а» в /var/www/err/ft.html.var: Ошибка анализа около '$'
AH01337: Не удалось разобрать expr "! $ REDIRECT_STATUS" в /var/www/err/tp.html: ошибка анализа около '$'
AH01337: Невозможно разобрать выраж "$ HTTP_HOST = /^([az]{2}\.)abc\.com/ & & $ SERVER_NAME = абв \ .com" в/вар/WWW/ERR /tp.html: Ошибка анализаоколо «$»
Я понимаю, что это связано с какой-то ongoing effort только использовать один вариант, называемый ap_expr, для всех директив конфигурации. Однако, после прочтения документации, я до сих пор не имею ни малейшего представления о том, как преобразовать некоторые из моего старого кода, чтобы отразить это изменение:
<!--#if expr="! $REDIRECT_STATUS" -->
<!--#set var="REDIRECT_STATUS" value="404" -->
<!--#endif -->
<!--#if expr="$HTTP_HOST = /^([a-z]{2}\.)abc\.com/ && $SERVER_NAME = abc\.com" -->
<!--#set var="subdomain" value="$1" -->
<!--#else -->
<!--#set var="subdomain" value="" -->
<!--#endif -->
бы признателен, если кто-то может указать на то, как выше будет изменено, чтобы меня начали. Благодаря!
Взгляните на этот http://httpd.apache.org/docs/2.4/mod/mod_include.html#ssilegacyexprparser кажется, что вы должны иметь это, чтобы использовать старый синтаксис. – 244an
@ 244ан, да, я это видел. Просто хочу изучить новый синтаксис в случае, если этот вариант устарел в будущем. –