我创建了一个虚拟目录和一个指向该虚拟目录的子域。我的链接总是路由到subdomain.domain.com/subdomain/controller/action,当他们可以离开子域链接。有什么简单的方法可以阻止这种情况吗?
此外,当我将anotherdomain.com映射到我的虚拟目录时,也会出现同样的问题。它最终链接到anotherdomain.com/virtualdir/controller/action.
在我看来,让所有的链接都是myapp.com/myapp/action/controller是不专业的。
发布于 2009-07-17 14:49:47
我也想知道这一点,但我不相信你可以在ASP.NET MVC提供的现成路由中实现这一点。
值得庆幸的是,用户有很大的自由来选择他们想要如何处理这些事情,你可能想要考虑的解决方案可以在here找到。
MVC MVC团队似乎已经认识到,默认情况下,这应该被预先烘焙到MVC中,但在v2之前,我看不到有任何改进,因为这将需要对路由引擎进行更改。
如果做不到这一点,您可能需要考虑重写url (如果您有IIS7,这显然要容易得多)。Here是IIS论坛的一篇帖子,讨论了这一点。
IIS7重写示例(取自here):
<rule name="RewriteSubdomain">
<match url="^(.+)">
<conditions>
<add input="{HTTP_HOST}" type="Pattern" pattern="^([^.]+)\.myapp\.com$">
</conditions>
<action type="Rewrite" url="{C:1}/{R:1}" />
</rule>https://stackoverflow.com/questions/1141356
复制相似问题