niektóre wyrażenia serwer niepożądane to nie są już roboczych po uaktualnieniu serwera z wersji 2.2 do 2.4, dając mi szereg błędów:Jak działa wyrażenie w apache 2.4?
AH01337: nie można analizować wyraż „$ SERVER_NAME = abc” in /var/www/err/ft.html.var: Błąd analizy w pobliżu '$'
AH01337: Nie można zanalizować wyrażenia "! $ REDIRECT_STATUS" w /var/www/err/tp.html: Błąd analizy w pobliżu "$"
AH01337: Nie można zanalizować wyrażenia "$ HTTP_HOST = /^([az]{2}\.)abc\.com/ & & $ SERVER_NAME = abc \ .com" w/var/www/err /tp.html: Błąd analizy blisko „$”
Rozumiem, że jest to spowodowane jakimś ongoing effort używać jednego wariantu tylko, zwany ap_expr, dla wszystkich dyrektyw konfiguracyjnych. Jednak po przeczytaniu dokumentacji, ja wciąż nie mam pojęcia w jaki sposób przekonwertować niektóre z mojego starego kodu, aby odzwierciedlić tę zmianę:
<!--#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 -->
Czy wdzięczni, jeśli ktoś może wskazać, w jaki sposób powyższe zostanie zmieniona na zaczynaj. Dzięki!
przyjrzeć się tej http://httpd.apache.org/docs/2.4/mod/mod_include.html#ssilegacyexprparser wydaje się, że trzeba to mieć na użycie składni stary. – 244an
@ 244an, tak, widziałem to. Po prostu chcesz poznać nową składnię, na wypadek gdyby ta opcja została wycofana w przyszłości. –