MVC urlHelper.RouteUrl提供服务器上的完整路径

时间:2011-03-28 20:51:43

标签: asp.net asp.net-mvc asp.net-mvc-3 orchardcms

我目前在OrchardCMS中正在使用URLRewrite,因此如果用户从site.com或site.com/orchard访问该站点,则会获得site.com/orchard页面。

其中一个问题是它在网页中丢弃了网址,因为它使用了urlHelper.RouteUrl,它使用了错误的上下文,然后生成了一个url,比如site.com/page1而不是site.com/orchard/page1。是否有一种方法可以告诉urlHelper.RouteUrl从与当前页面不同的页面开始,还是让函数返回完整路径?

由于

2 个答案:

答案 0 :(得分:0)

也许您可以使用Orchard Rewrite模块,您可以在其中定义重定向规则:

RewriteCond %{REQUEST_URI} !^orchard [NC]
RewriteRule ^(.*)$ /orchard/$1 [R=301,L]

答案 1 :(得分:0)

尝试在 site.com/orchard 虚拟目录下设置应用程序,然后使用IIS中的UrlRewrite在用户输入site.com时执行适当的301重定向 。这是一种更清洁的方法。

HTH