2013-04-29 38 views
2

我有一個問題如下:web.config中重寫規則:從一個查詢串改寫到另一個包含第一

我想從/index.php?jobs改寫到/index.php?retail-喬布斯在倫敦

,我嘗試以下規則:

<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一個錯誤,我認爲,由於「作業「位於預期頁面的查詢字符串中,因此它會嘗試循環。

如何顯式查找只是「作業」的查詢字符串?

在此先感謝

回答

2

這應該有效。

更改此行,正則表達式的開始和結束的字符串匹配:

<add input="{QUERY_STRING}" pattern="^jobs$" />

或者如果它與「工作」開始,它會處理時,其他的事情你可以改變它只匹配已被添加到最後:

<add input="{QUERY_STRING}" pattern="^jobs" />

+0

非常感謝您的快速答案 - 這是我所需要的。這麼快,我還不能接受你的答案! – TomWRowley 2013-04-29 09:00:26