Einige der Ausdrücke in Server Side Includes nicht mehr arbeiten, nachdem ich den Server von Version 2.2 bis 2.4 aktualisiert haben, mir eine Reihe von Fehlern geben:Wie funktioniert Ausdruck in Apache 2.4?
AH01337: Könnte nicht analysieren ausdr „$ SERVER_NAME = abc“ in /var/www/err/ft.html.var: Parse Fehler in der Nähe von $
AH01337: konnte nicht Ausdruck "! $ REDIRECT_STATUS" in /var/www/err/tp.html: Parse Fehler in der Nähe '$'
AH01337: Könnte nicht analysieren ausdr "$ HTTP_HOST = /^([az]{2}\.)abc\.com/ & & $ SERVER_NAME = abc \ .com" in/var/www/err /tp.html: Parse Fehler in der Nähe von ‚$‘
Ich verstehe, dass dies zu einem gewissen ongoing effort nur aufgrund ist eine einzige Variante zu verwenden, genannt ap_expr, für alle Konfigurationsanweisungen. Doch nach der Dokumentation zu lesen, ich habe immer noch keine Ahnung, wie einige meiner alten Code konvertieren diese Änderung widerzuspiegeln:
<!--#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 -->
würde schätzen, wenn jemand darauf hinweisen kann, wie die oben geändert würde mir loszulegen. Vielen Dank!
Haben Sie einen Blick auf diese http://httpd.apache.org/docs/2.4/mod/mod_include.html#ssilegacyexprparser scheint, dass Sie diese auf müssen alte Syntax verwenden. – 244an
@ 244an, ja, das habe ich gesehen. Ich möchte nur die neue Syntax lernen, falls diese Option in der Zukunft veraltet sein sollte. –