Asp.net URL路由到第三方链接

时间:2019-04-01 16:51:40

标签: c# asp.net iis

我有一个Asp.net网站,需要实现url别名功能

http://myweb.net/sf->应该路由到外部网址,例如www.sales.com

http://myweb.net/ts->应该路由到www.timesheet.com

是否有一种无需在IIS中为每个快捷方式创建应用程序的情况下实现此目的的方法?

使用Web.config或数据库的解决方案将是理想的选择。

2 个答案:

答案 0 :(得分:1)

根据您的描述。我建议您可以使用URL重写使输入的URL重定向到另一个。如果要将http://myweb.net/sf路由到www.sales.com,将http://myweb.net/ts路由到www.timesheet.com,则可以直接在下面的web.config文件中添加:

    <system.webServer>
     <rewrite>
        <rules>
     <rule name="test1" stopProcessing="true">
                        <match url="(.*)" />
                        <conditions>
                            <add input="{REQUEST_URI}" pattern="(.*)/sf" />
                        </conditions>
                        <action type="Redirect" url="http://www.sales.com" redirectType="Found" />
                    </rule> 
 <rule name="test2" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{REQUEST_URI}" pattern="(.*)/ts" />
                    </conditions>
                    <action type="Redirect" url="http://www.timesheet.com" redirectType="Found" />

                </rule> 

        </rules>
    </rewrite>
    </system.webServer>

答案 1 :(得分:0)

是的,您可以在Web.Config文件中使用重写

 <rewrite>
    <rules>
<rule name="CanonicalHostNameRule">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^www\.sales\.com$" negate="true" />
            </conditions>
            <action type="Redirect" url="http://www.sales.com/{R:1}" />
        </rule>
    </rules>
</rewrite>

www.timesheet.com配置文件相同

  

注意:如果您要替换完整的URL {HTTP_HOST},则此代码是,   您可以根据收到的条件{HTTP_HOST}/{R:1}进行相同的更改,设置正确的