MVC urlHelper.RouteUrl для предоставления полного пути на сервере - PullRequest
0 голосов
/ 29 марта 2011

Я сейчас что-то делаю в OrchardCMS, мы используем URLRewrite, так что если пользователь заходит на сайт с site.com или site.com/orchard, он получает страницу site.com/orchard.

Одна из проблем заключается в том, что он выбрасывает URL-адреса в меню, потому что он использует urlHelper.RouteUrl, который использует неправильный контекст, а затем создает URL-адрес, аналогичный site.com/page1, а не site.com/orchard/page1.Есть ли способ сказать urlHelper.RouteUrl, что нужно начинать с страницы, отличной от текущей, или заставить функцию возвращать полный путь?

Спасибо

Ответы [ 2 ]

0 голосов
/ 29 марта 2011

Попробуйте настроить приложение в виртуальном каталоге site.com / orchard , а затем используйте UrlRewrite в IIS, чтобы выполнить соответствующее перенаправление 301 при входе пользователя на сайт.com . Это гораздо более чистый подход.

НТН

0 голосов
/ 29 марта 2011

Может быть, вы могли бы использовать модуль Orchard Rewrite, где вы можете определить правила перенаправления следующим образом:

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