如何在DNN网站的web.config中编写完整URL的重写规则?

时间:2014-04-10 04:56:35

标签: asp.net url-rewriting dotnetnuke multiple-domains

我正在与DNN网站合作,该网站适用于不同的域名,我的意思是说一个网站正在使用多个域名,布局和页面都使用不同的门户网站进行分类。每个Portal都有自己的页面和内容。现在我必须为不同的门户网站编写一些重写规则。对于主门户网站,我使用以下概念编写规则:

<rule name="r7" stopProcessing="true">
                <match url="^vows/tabid/(.*)id/([0-9]+)/Default.aspx" ignoreCase="true"/>
                <action type="Redirect" url="/plan/brochure.aspx"/>
            </rule>

现在换另一个域名(门户网站)示例www.abc.uk.co.我该如何为这个门户编写规则。如果我在规则中写入URL,它对我不起作用。如果我用上面的格式写,那么它也会导致重定向到第一个域。

请帮助我如何实现目标。任何形式的帮助将不胜感激。谢谢

2 个答案:

答案 0 :(得分:1)

这是为我工作的代码:

<rule name="Uk1" stopProcessing="true">
      <match url="^man/mostpopulararticles/brides.aspx" ignoreCase="true" />
  <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{HTTP_HOST}" pattern="^(www.)?abc.co.uk$" />            
      </conditions>
      <action type="Redirect" url="/man.aspx" />
    </rule>

全部谢谢

答案 1 :(得分:1)

您可以使用dotnetnuke的网址重写功能,您可以在此链接上获取详细信息

<强> http://www.dnnsoftware.com/wiki/page/url-rewriting

你在下面的路径中写了规则

配置\ SiteUrls.config

 <RewriterRule>
            <LookFor>.*testwebserice.asmx(.*)</LookFor>
            <SendTo>/DesktopModules/Projectname/Web service/testwebserice.asmx$1</SendTo>
        </RewriterRule>