Как сохранить ссылки на subdomain.domain.com от отображения на subdomain.domain.com/subdomain? - PullRequest
1 голос
/ 17 июля 2009

У меня есть виртуальный каталог и поддомен, который указывает на этот виртуальный каталог. Мои ссылки всегда перенаправляются на subdomain.domain.com/subdomain/controller/action, когда они могут не указывать ссылку на поддомен. Есть ли простой способ остановить это?

Кроме того, это та же проблема, когда я сопоставил anotherdomain.com с моим виртуальным каталогом. Это заканчивается ссылкой на anotherdomain.com/virtualdir/controller/action.

Мне кажется непрофессиональным, что все мои ссылки будут myapp.com/myapp/action/controller.

1 Ответ

2 голосов
/ 17 июля 2009

Мне тоже интересно, но я не верю, что вы можете достичь этого с помощью готовой маршрутизации, которая поставляется с ASP.NET MVC.

К счастью, у пользователя есть большая свобода в выборе того, как он хочет справиться с этими вещами, и решение, которое вы, возможно, захотите рассмотреть, можно найти здесь .

Команда ASP.NET MVC, похоже, признала, что по умолчанию это должно быть предварительно запечено в MVC, но я не вижу ничего, что можно было сделать до v2, поскольку это потребует изменений в механизме маршрутизации.

Если это не удастся, вы можете рассмотреть возможность перезаписи URL (очевидно, это гораздо проще, если у вас есть IIS7). Здесь - это сообщение на форуме IIS, обсуждающее это.

Пример переписывания IIS 7 (взято из здесь ):

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...