28

Google Botが原因でウェブサイトのどこかに書き換え再帰エラーが発生しましたが、ログレベルが低いため、原因となったURLが見つかりません。私はそれを上げましたが、それは今のところ二度と起こりません。

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

これを除いて、すべてのRewriterulesは私には見栄えがよく、[L]フラグが付いています。

よくわかりません。これは、オープンソースショップシステムのMagentoからのものです。

私が知る限り、それは環境変数Eを設定するだけです。しかし、それは非常に愚かな方法ではありませんか?それが目標だった場合、SetEnvを使用するべきではありませんか?

4

2 に答える 2

25

symfony開発者グループはそれに対して良い答えを持っています。私は引用します:

ホスティングは、ローカルホストのようにphp5_moduleではなく、fcgiとしてphpを実行しているようです。(phpinfo-サーバーAPI:CGI / FastCGI)

重要なのは、php5_moduleはHTTP_AUTHORIZATIONヘッダーを自動的に処理しますが、fcgi_moduleは処理しないということです。

解決策は簡単です-ホスティングサーバーの.htaccesに次の行を追加します。

RewriteRule。*-[E=HTTP_AUTHORIZATION:%{HTTP:Authorization}、L]

それは私のために働いた

于 2012-11-07T14:04:02.203 に答える
15

この行は、環境変数をユーザー認証文字列の値に設定しています。基本的に、定数値ではなく変数を設定しています。私の知る限り、SetEnvとSetEnvIfでは、環境変数を所定の定数に設定することしかできません。

設定されている変数は、実際にはEではなくHTTP_AUTHORIZATIONです。これは、ユーザー認証プロセスの一部だと思います。

于 2011-02-09T16:35:08.577 に答える