Я постараюсь сделать это коротким, не стесняйтесь спрашивать более подробную информацию.
Мобильная версия веб-сайта была создана с использованием бритвы MV3 и развернута на веб-сервере IIS6 с использованием URL-адресов без расширений. Поскольку на сервере установлен .NET4, на нем не выполняется специальная настройка для работы с URL-адресами без расширений. Когда я пытаюсь получить доступ к сайту с помощью URL: http://site/m/
, я получаю 404 Not Found
ошибку.
Что я делаю, чтобы вызвать эту проблему:
- Щелкните правой кнопкой мыши проект в VS2010 и опубликуйте его в локальной файловой системе.
- ZIP все файлы в и передачи на рабочий сервер + распаковать туда
- Щелкните правой кнопкой мыши на производственном веб-сайте и добавьте виртуальный каталог для нового приложения.
- Создание нового пула приложений со всеми настройками по умолчанию
- Поместить новый виртуальный каталог / приложение в этот пул приложений.
- Попробуйте получить доступ к URL в браузере; получить
404 Not Found
Меня удивляет то, что если я заменю Шаг 1 на «Файл-> Создать новый проект MVC3», а затем опубликую в локальной файловой системе, все будет работать нормально:
- Тест-проект отображается в браузере с именем, которое я использовал
http://site/mvctest/
- Мне не нужно использовать какие-либо расширения
- Не перестает работать через 20 минут (см. Следующий параграф)
А теперь для (даже) более странной части:
Если я сейчас переместлю приложение "m" в пул приложений, только что созданный для приложения "mvctest"; это тоже работает. Но только на 20 минут (или любое другое значение, которое я установил для «Завершить рабочий процесс после простоя»).
Есть идеи?
EDIT : Если я добавлю сопоставление с подстановочными знаками в виртуальный каталог /m/
, это будет работать, но это должно / может также негативно повлиять на производительность?