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