2017-07-03 1 views
0

je les règles de réécriture suivantes qui réécrivent au même endroit:QUERY_STRING Rewrite pour

http://test.com/finance/payroll/forms/salary-payment-form.shtml?staff=test-edu-trust -> A ->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 -> A ->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] 

Le problème est à la fois réécrire au même emplacement - https://www.test.com/finance/BBBB.shtml?staff=test-edu-trust

Si je change l'ordre des règles ci-dessous puis ils finissent par la réécriture du premier emplacement dans l'ordre: https://www.test.com/finance/BBBB.shtml?staff=test-comm-rac comme ci-dessous:

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] 

Quelle est l'origine de l'ordre des règles ici juste pour réécrire le premier défini comme je pensais que le QUERY_STRING aurait attrapé ceci et a trié quelle URL pour réécrire?

+0

Je viens de remarquer que j'ai RewriteRule et pas RewriteCond pour le QUERY_STRING !! Doh !!! – frodo

Répondre

0

Je viens de remarquer que j'ai RewriteRule et pas RewriteCond pour le QUERY_STRING !! Doh !!!