我有一个Asp.net网站,需要实现url别名功能
http://myweb.net/sf->应该路由到外部网址,例如www.sales.com
http://myweb.net/ts->应该路由到www.timesheet.com
是否有一种无需在IIS中为每个快捷方式创建应用程序的情况下实现此目的的方法?
使用Web.config或数据库的解决方案将是理想的选择。
答案 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}
进行相同的更改,设置正确的