Google Botが原因でウェブサイトのどこかに書き換え再帰エラーが発生しましたが、ログレベルが低いため、原因となったURLが見つかりません。私はそれを上げましたが、それは今のところ二度と起こりません。
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
これを除いて、すべてのRewriterulesは私には問題なく見え、[L]フラグが付いています。
よくわかりません。オープンソースのショップシステムMagentoからです。
私が知る限り、それは環境変数Eを設定するだけです。しかし、それは非常に愚かな方法ではありませんか?それが目標だった場合、SetEnvを使用するべきではありませんか?
この行は、環境変数をユーザー認証文字列の値に設定しています。基本的に、定数値ではなく変数を設定しています。私の知る限り、SetEnvとSetEnvIfでは、環境変数を所定の定数に設定することしかできません。
設定されている変数は、実際にはEではなくHTTP_AUTHORIZATIONです。これは、ユーザー認証プロセスの一部だと思います。
Symfony開発者グループ それに対する良い答えがあります。私は引用します:
ホスティングは、ローカルホストのようにphp5_moduleではなく、fcgiとしてphpを実行しているようです。 (phpinfo-サーバーAPI:CGI/FastCGI)
重要なのは、php5_moduleはHTTP_AUTHORIZATIONヘッダーを自動的に処理しますが、fcgi_moduleは処理しないということです。
解決策は簡単です-ホスティングサーバーの.htaccesに次の行を追加します。
RewriteRule。*-[E = HTTP_AUTHORIZATION:%{HTTP:Authorization}、L]
それは私のために働いた