Доступ к сайту ASP.Net MVC без www выдает ошибку - PullRequest
1 голос
/ 18 февраля 2009

Это вызывает у меня несколько ночных кошмаров, так как я в живом боксе и пытаюсь понять, что идет не так!

Если кто-то заходит на наш веб-сайт ASP.Net MVC с полным URL-адресом http://www..net, все в порядке. Если они перейдут по адресу: http: //.net, то отобразится наша пользовательская страница ошибки. Раньше это работало нормально, прежде чем мы переместили сайт в MVC.

У нас есть событие Application_OnError в Global.asax, но я знаю, что в этой ситуации это не происходит, так как я регистрируюсь в журнале событий и этого не происходит.

Если я отключаю пользовательские ошибки в файле web.config, сайт работает правильно!

В данный момент мы используем бета-версию MVC. Изменить: Мы работаем на IIS6 и используем маршрутизацию MVC для дружественных URL-адресов.

Это невозможно проверить локально, что очень неприятно, поскольку это происходит только вживую без www. Интересно, это как-то связано с маршрутизацией ......

Спасибо!

Ответы [ 2 ]

2 голосов
/ 19 февраля 2009

На данном этапе проблема слишком расплывчата, чтобы я мог дать вам хороший ответ, но сначала я бы посмотрел на переписывание вашего URL - какую версию IIS вы используете? Если IIS5 или 6, вы используете Isapi Rewrite? Это может помешать вашему ответу.

Что касается того, почему ошибка исчезает, когда вы выключаете customErrors, я не знаю, извините.

В дополнение к этому, если вас интересует рейтинг Google, вы можете использовать инструмент перезаписи (например, Isapi Rewrite и, я думаю, встроенный в IIS7) для отправки автоматического перенаправления (ответ HTTP 301), которое отправит пользователей из версии без www в версию www. Google видит оба этих сайта как отдельные сайты с дублированным контентом, и это снизит рейтинг вашей страницы. Это также поможет избежать проблемы, над которой вы экспериментируете, поскольку пользователи будут видеть только версию www.

Кроме того, я не уверен, действительно ли Application_Error - лучший способ справиться с ошибками в ASP.Net MVC. Проведите некоторое исследование фильтра действий HandleError, чтобы увидеть, может ли это дать вам лучший подход к обработке ошибок. Проверьте сообщение Скотта Гу по этому вопросу для получения дополнительной информации.

Надеюсь, это поможет. Ура, Zac

0 голосов
/ 09 февраля 2011

У меня была такая же проблема на моем сайте MVC .net, но это сработало для меня, когда я ввожу и domain.com, и www.domain.com в заголовок узла в IIS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...