Мне было поручено добавить функциональность на существующий веб-сайт IIS 6.0. Для этого я создал приложение ASP.NET MVC. Он отлично работает при развертывании как собственный сайт, но, похоже, не работает, когда я пытаюсь развернуть его как виртуальный каталог на том сайте, где он должен жить.
Имя сервера - CWEBSERVER, а IP - 192.168.1.11. Если посмотреть на IIS Manager, это структура сайта:
(Default Website) (root)
- PRODUCTION (vDir)
- CONTENT (not a vDir)
- DATAFOLDER (vDir, contains MVC app, just added by me, not working)
Странно то, что когда я набираю следующие URL-адреса из браузера на сервере, это работает:
http://localhost/DATAFOLDER/account.aspx
http://127.0.0.1/DATAFOLDER/account.aspx
http://192.168.1.11/DATAFOLDER/account.aspx
Следующий URL (который мне нужен для работы) не работает:
http://CWEBSERVER/DATAFOLDER/account.aspx
Я получаю сообщение об ошибке: «Ресурс не найден».
Посмотрев ближе, я понял, что запросы к http://CWEBSERVER отправляются в vDir PRODUCTION, но вызовы http://localhost или http://192.168.1.11 отправляются в корневой каталог веб-сайта. Я предполагаю, что это что-то настроено оригинальным дизайнером сайта. Я не уверен, как изменить эту настройку, но я не думаю, что смогу изменить ее в любом случае, потому что на самом деле существует масса других каталогов, которые могут быть затронуты. Еще одна вещь, на которую я хотел обратить внимание: это папка CONTENT, доступная по http://CWEBSERVER/CONTENT. Это действительно странно, так как я думал, что http://CWEBSERVER указал мне на корень, так что я бы не стал Не думаю, что "/ CONTENT" действительно сможет попасть в папку CONTENT.
Теперь моя проблема заключается в следующем: как мне получить доступ к моему DATAFOLDER через http://CWEBSERVER/DATAFOLDER? Я бы подумал, что я должен просто поместить DATAFOLDER vDir в из PRODUCTION vDir. Я попробовал это, и используя localhost или IP это все еще доступно через:
http://localhost/PRODUCTION/DATAFOLDER/account.aspx
http://127.0.0.1/PRODUCTION/DATAFOLDER/account.aspx
http://192.168.1.11/PRODUCTION/DATAFOLDER/account.aspx
Когда я использую CWEBSERVER, он все равно не работает:
http://CWEBSERVER/DATAFOLDER/account.aspx
Ошибка по-прежнему «Ресурс не найден». Может кто-нибудь пролить некоторый свет на это? В частности, у меня есть следующие вопросы:
- Как http://localhost перейти в корень, а http://CWEBSERVER перейти в vDir PRODUCTION? Где я могу изменить этот параметр?
- Почему "http://localhost/PRODUCTION/DATAFOLDER/account.aspx" работает, но не работает" http://CWEBSERVER/DATAFOLDER/account.aspx"?
Принятый ответ на этот вопрос (кому будет присуждена награда) должен быть в состоянии сделать это, чтобы я мог получить доступ http://CWEBSERVER/DATAFOLDER/account.aspx. Спасибо!