我在URL重寫規則中遇到問題。 我使用UrlRewritingNet.UrlRewriter在asp.net網站上進行Url重寫的DLL。 我使用規則名稱作爲「高級」 &其他規則名稱DefaultRule用於任何用戶配置文件頁面(即任何用戶的配置文件頁面)。 當我輸入用戶名爲「AdvancedMachinesTools」。
的規則如下: -URL重寫規則在IIS中是否一致?
<urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="Login" xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
<rewrites>
<add name="advanced" virtualUrl="^~/advanced" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/advancedSearch.aspx" ignoreCase="true" />
<add name="DefaultRule" virtualUrl="^~/(.*)" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/UserProfile.aspx?uname=$1" ignoreCase="true"/>
</rewrites>
</urlrewritingnet>
我收到錯誤消息「文件不存在」我在web.config文件中寫道DefaultRule最後。
我如何解決它...?
EDITED
例子 假設我的網站網址:www.abcd.com
1)先進的規則,我寫URL這樣www.abcd.com/advanced
規則:
<add name="advanced" virtualUrl="^~/advanced" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/advancedSearch.aspx" ignoreCase="true" />
2)默認用戶規則 假設用戶名:AdvancedEyecare它使用默認規則
<add name="DefaultRule" virtualUrl="^~/(.*)" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/UserProfile.aspx?uname=$1" ignoreCase="true"/>
當我輸入網址像http://www.abcd.com/AdvancedEyecare
後來我有錯誤,因爲規則中不使用用戶的默認規則1條高級規則「文件不存在」。我想調用userrule而不是1個高級規則。 如何解決?
是否存在'〜/ UserProfile.aspx'?重寫規則從您以前的Page1.aspx/Page2.aspx方案中發生了顯着變化。 – tiago2014 2011-03-07 05:20:20
舉例說明您需要的(原始地址 - >重新發送地址)對。 – tiago2014 2011-03-07 05:21:28
Hi @tiagoinu〜/ UserProfile.aspx存在。 – 2011-03-07 06:08:05