MOD_Rewriteの書き換えは、書き換えルールの2回目の実行を呼び出しますか?
-
04-07-2019 - |
質問
MOD_RewriteによってRewriteRuleが実行されると、新しく生成された要求に対してすべてのMOD_Rewriteルールが再度実行されますか?特に次の例では、これによりループが発生しますか?
RewriteCond Host: (?:www\.)?mysite\.com
RewriteRule ^(.*)$ $1 [QSA,L]
解決
あなたの場合、いずれにしてもループは行われません。 「L」があります;スイッチをオンにして、その特定のルールを最後のルールとして修正します。
さらに、「N」を使用して次の反復を明示的に強制する必要があります。または「NS」または、ルールファイル内を移動し、最後に一致したルールで停止します。ドキュメントから:
N(次の反復)
書き換えエンジンに変更を強制します ルールのターゲットと再起動ルール 最初から確認する(すべて 変更が保存されます)。の数 再起動は値によって制限されます RepeatLimitで指定 指令。この数を超えた場合 Nフラグは単に無視されます。
NS(同じルールの次の反復)
Nフラグのように機能しますが、再起動します 同じルールからのルール処理 (つまり、ルールの繰り返しを強制します 応用)。の最大数 単一ルールの反復は RepeatLimitディレクティブ。しかし、多くの 単一のルールの繰り返しはカウントされません 繰り返しのグローバル数(つまり、 の制限を繰り返します Nフラグによる反復は 多数の繰り返しに依存しない NSが原因です。
所属していません StackOverflow