我想重寫URL(DotNetNuke的友好的URL),象這樣:URL重寫休息
來源:/search.aspx?query=test
要:~/SearchResults?search=test
我曾嘗試各種組合,但它看起來像它不考慮我曾嘗試URL的問號
<RewriterRule>
<LookFor>.*/search.aspx?query=(.+)</LookFor>
<SendTo>~/SearchResults?Search=$1</SendTo>
</RewriterRule>
但它不工作後的部分..
:
<RewriterRule>
<LookFor>.*/search.aspx\?query=(.+)</LookFor>
<SendTo>~/SearchResults?Search=$1</SendTo>
</RewriterRule>
但這也不適用於網址/search.aspx?query=test
。我得到一個404 search.aspx
這是DotNetNuke的的web.config中的相關部分:
<friendlyUrl defaultProvider="DNNFriendlyUrl">
<providers>
<clear />
<add name="DNNFriendlyUrl"
type="DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules"
includePageName="true"
regexMatch="[^a-zA-Z0-9 _-]"
urlFormat="humanfriendly" />
</providers>
</friendlyUrl>
有一些導致它跳過?
這是源代碼友好的url重寫器,如果有幫助..我不是那麼好的正則表達式,所以我可以使用一些幫助。
也許這個鏈接幫助:http://stackoverflow.com/questions/7083316/friendly-urls-in-dotnetnuke-troubleshooting。 –
,添加另一個URL重寫器的混合..我希望能夠解決這個問題,而無需啓用IIS URL重寫器。作爲DNN的一個可以由管理員修改.. –
我不擅長與正則表達式..你認爲這是跳過由於regexMatch =「[^ a-zA-Z0-9 _-]」在網絡中。配置?我嘗試添加'?'和'\'但後來我得到了整個網站 –