MOD_Rewriteの書き換えは、書き換えルールの2回目の実行を呼び出しますか?

StackOverflow https://stackoverflow.com/questions/229231

  •  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が原因です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top