ASP .NET MVC - 更改 URL.Action 使用的域?
我有一个网站,有两个域指向相同的内容。我们将它们称为 www.domainA.com 和 www.domainB.com,其中 www.domainA.com/Page 与 www.domainB.com/Page 相同。
网站上的每个页面都有许多常见的导航链接(和其他链接),这些链接是使用 Url.Action 和 Html.ActionLink 调用的混合构造的。生成的 url 基于当前域。由于 www.domainA.com 是主域,因此我希望从 www.domainB.com 生成的任何链接都基于 www.domainA.com。
这可以集中完成吗,而不是我遍历整个站点并对其进行硬编码?
谢谢, 艾伦
I have a website that has two domains pointing to the same content. Let's call them www.domainA.com and www.domainB.com where www.domainA.com/Page is the same as www.domainB.com/Page.
Every page on the site has a number of common navigation links (and others) that are constructed using a mixture of Url.Action and Html.ActionLink calls. The resulting urls are based on the current domain. Because www.domainA.com is the primary domain, I would like any links generated from www.domainB.com to be based on www.domainA.com.
Can this be done centrally, rather than me going around the whole site and hard-coding it?
Thanks,
Alan
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我最终使用此处的解决方案来指示 IIS 重写对我的旧域的请求。
希望这可以帮助其他有相同需求的人。
艾伦
I ended up using the solution here to instruct IIS to rewrite requests to my old domain.
Hope this helps others with the same requirement.
Alan
您可以通过使用继承自 System.Web.Routing.Route 的自定义路由对象来解决此问题。
例如:
然后在您注册路由的 global.asax 中使用:
You can fix this by having custom route objects, that inherit from
System.Web.Routing.Route
.For instance:
Then in your global.asax, where you register your routes use: