2013-02-14 24 views
5

私は私のエラーのシリーズを与え、2.4にバージョン2.2からサーバーをアップグレードした後、もはや作業しているインクルードサーバー側での表現の一部:式はApache 2.4でどのように動作しますか?

AH01337:式exprを解析できませんでした「$のSERVER_NAME = ABC」 /var/www/err/ft.html.var: '$'付近の解析エラー
AH01337:exprを解析できませんでした "!$ REDIRECT_STATUS" in /var/www/err/tp.html:近くの解析エラー'$'
AH01337:exprを解析できませんでした "/ var/www/errに$ HTTP_HOST = /^([az]{2}\.)abc\.com/ & & $ SERVER_NAME = abc \ .com" /tp.html:解析エラー01私はこれが唯一のバリアントを使用するいくつかの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 --> 

には理解される:ただし、ドキュメントを読んだ後、私はまだどのようにこの変更を反映するために、私の古いコードの一部を変換するには考えています。ありがとう!

+0

このhttp://httpd.apache.org/docs/2.4/mod/mod_include.html#ssilegacyexprparserを見てあなたは、古い構文を使用するには、この上持たなければならないということらしい持っています。 – 244an

+0

@ 244an、はい、私はそれを見ました。将来、オプションが廃止される場合に備えて新しい構文を学びたいだけです。 –

答えて

1

WARNING

私はディレクティブをアクティブにしようとしました:

(上記のコメントで述べたように)

SSILegacyExprParser

にしかし、それはまた、私のSSIStartTagのコンフィグを殺しました。..

これ以上素敵なん{{エコーVAR =「var1の」}}

OLDコメント構文は、内部の属性に表示された場合、チョークうというXHTMLエディタを注意してください> :-(

0

私は、もし興味が期待

<!--#if expr="-z %{REDIRECT_STATUS}" --> 
<!--#set var="REDIRECT_STATUS" value="404" --> 
<!--#endif --> 
<!--#if expr="v('HTTP_HOST') =~ /^([a-z]{2}[.])abc[.]com/ 
      && v('SERVER_NAME') == 'abc.com'" --> 
<!--#set var="subdomain" value="$1" --> 
<!--#else --> 
<!--#set var="subdomain" value="" --> 
<!--#endif --> 

私はちょうど最後の夜に変換するもので、このような使用(少数の人々を持っていなかったので、私は$ 1についてはよく分からない:新しい構文は、あなたがこのようなものになってしまいますそれがと同じ exprの中でのみ使用できると思います。私は、正規表現のいくつかの問題が予想どおりに動作しないことを発見しました。たとえば、現在のディレクトリまたはサブドキュメントの量を調べているかどうかを判断するための式です。最後の行は "/"で終わるURIと一致しますが、%{REQUEST_URI}がうまくいかないことを発見して、v( 'REQUEST_URI')形式だけを発見しました(何とか、何かのため)。

<!--#if expr="((v('REQUEST_URI') =~ m_/index.shtml_) 
      || (v('REQUEST_URI') =~ m_/index.html_) 
      || (v('REQUEST_URI') =~ m_/index.cgi_) 
      || (v('REQUEST_URI') =~ m_/$_))" --> 
関連する問題