2

我在子域 (www.website.com/foobar) 上有一个站点,它会拉取默认页面视图。由于 MVC 应用程序的性质,此默认页面视图也可以通过默认内容 (www.website.com/foobar/{controller}) 和 (www.website.com/foobar) 的“控制器/操作”URL /{控制器}/{动作})。

为了分析和跟踪,除了原始短网址 (www.website.com/foobar) 之外,我希望这些其他网址中的任何一个重定向回这个较短的网址。

所以... www.website.com/foobar/{controller},当输入或点击书签链接时,应该重定向到 www.website.com/foobar

我尝试过使用路由,但实际上无法更改 URL 本身。我不确定是否可以通过映射进行更改。

编辑:有人在 IIS7 中使用过 HTTP 重定向吗?我可以从顶层重定向,但似乎无法让重定向在任何视图上工作。

4

2 回答 2

1

通过使用 HTTP Redirect 模块,我能够解决 IIS 7 中的问题。因为它是一个 MVC 应用程序,所以在视图上设置重定向有点棘手,但这是可能的。我使用了本教程:在 IIS7 中创建重定向

编辑:虽然上述解决方案有效,但它往往是不可预测的。我最终通过读取用户在 Quote 控制器的 Index 操作中输入的 URL 来解决它,然后如果我正在寻找的关键字在 URL 中,则重定向。只是 Index 操作开始处的一个简单 if 语句。

于 2012-12-11T22:12:48.637 回答
1

我认为您不能单独使用路由来重定向域。我有一个类似的问题,经过几天的搜索和询问,我最终使用重定向本身来解决这个问题。希望这可以帮助。

于 2012-12-11T19:47:04.467 回答