2017-07-03 9 views
0

I持っていた場所と同じ場所に再書き込みされている以下の書き換えルール:QUERY_STRING書き換え順

http://test.com/finance/payroll/forms/salary-payment-form.shtml?staff=test-edu-trust - > TO - >https://www.test.com/finance/BBBB.shtml?staff=test-edu-trust

RewriteRule %{QUERY_STRING} ^staff=test-edu-trust$ 
RewriteRule ^/finance/payroll/forms/salary-payment-form.shtml$ https://www.test.com/finance/BBBB.shtml?staff=test-edu-trust[R=301,L,NC] 

http://test.com/finance/payroll/forms/wages-payment-form.shtml?staff=test-comm-rac - > TO - >https://www.test.com/finance/BBBB.shtml?staff=test-comm-rac

RewriteRule %{QUERY_STRING} ^staff=test-comm-rac$ 
RewriteRule ^/finance/payroll/forms/salary-payment-form.shtml$ https://www.test.com/finance/BBBB.shtml?staff=test-comm-rac[R=301,L,NC] 

問題は両方とも同じ場所に書き直す - https://www.test.com/finance/BBBB.shtml?staff=test-edu-trust

私は以下にルールの順序を変更する場合、それらは順番に最初の場所に書き換えてしまう:以下のとおりhttps://www.test.com/finance/BBBB.shtml?staff=test-comm-rac

RewriteRule %{QUERY_STRING} ^staff=test-comm-rac$ 
RewriteRule ^/finance/payroll/forms/salary-payment-form.shtml$ https://www.test.com/finance/BBBB.shtml?staff=test-comm-rac[R=301,L,NC] 

RewriteRule %{QUERY_STRING} ^staff=test-edu-trust$ 
RewriteRule ^/finance/payroll/forms/salary-payment-form.shtml$ https://www.test.com/finance/BBBB.shtml?staff=test-edu-trust[R=301,L,NC] 

だけに書き換えるために、ここでのルールの順序を引き起こしている何QUERY_STRINGがこれを捕まえて、どのURLを書き直すかをソートしていると思ったので、最初に定義したものは何ですか?

+0

ちょうど私がRewriteRuleを持っていて、QUERY_STRINGのRewriteCondを持っていないことに気づいた!! Doh !!! – frodo

答えて

0

ちょうど私にはRewriteRuleがあり、QUERY_STRINGにはRewriteCondがありません! Doh !!!