我遇到如下问题:
我想从/index.php?jobs重写为/index.php?retail-jobs-in-london
我尝试了以下规则:
<rule name="jobs" stopProcessing="true">
<match url="index.php$" />
<conditions trackAllCaptures="true">
<add input="{QUERY_STRING}" pattern="jobs" />
</conditions>
<action type="Redirect" appendQueryString="false" url="http://www.domain.com/index.php?retail-jobs-in-london" />
</rule>
但是,我得到了预期页面/index.php?retail-jobs-in-london的错误,我相信因为“jobs”在目标页面的查询字符串中,所以它会尝试循环。
如何显式查找完全且仅“作业”的查询字符串?
提前致谢
答案 0 :(得分:2)
这应该有用。
更改此行以使正则表达式匹配字符串的开头和结尾:
<add input="{QUERY_STRING}" pattern="^jobs$" />
或者你可以改变它,只有当它以“作业”开始时才会匹配,这会在其他东西被添加到最后时处理:
<add input="{QUERY_STRING}" pattern="^jobs" />