0
我具有被重写到同一位置以下重写规则: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重写为?
刚注意到我有RewriteRule,而不是RewriteCond中的QUERY_STRING! Do !!! – frodo