#iis #.net-core
Вопрос:
У нас есть опубликованный веб-сайт .NET Core 3.1, размещенный в IIS. Корневая папка (содержащая библиотеки DLL): c:qaweb
В противном случае у нас есть папки, такие как:
- c:qawebwwwrootcss
- c:qawebwwwrootjs
В IIS мы создали виртуальный каталог с именем «изображения». Доступ к веб-сайту можно получить через http://localhost
Мы можем просматривать отдельные файлы без ошибок:
- http://localhost/js/brand.js
- http://localhost/css/main.css
Однако при попытке просмотреть файлы в виртуальном каталоге мы получаем 404:
http://localhost/images/foo.jpg
Но если мы вставим «/wwwroot» в URL-адрес, мы увидим содержимое виртуального каталога без проблем:
http://localhost/wwwroot/images/foo.jpg
Зачем нам нужен «wwwroot/» в URL-адресе? Когда мы запускаем один и тот же веб-сайт из Visual Studio / IIS Express, нам не нужен «wwwroot/» в URL-адресе для просмотра /images/foo.jpg
Я подумал, что, может быть, если мы установим псевдоним виртуального каталога на «wwwroot/images», это может сработать, но это не позволяет использовать символ косой черты в псевдониме.
Комментарии:
1. Вы можете использовать отслеживание неудачных запросов для просмотра подробной информации об ошибках. Использование Трассировки неудачных запросов для отслеживания Правил перезаписи .
Ответ №1:
Убедитесь, что виртуальный каталог создан на уровне сайта. Похоже, что он вложен в папку wwwroot. Попробуйте это — щелкните правой кнопкой мыши на сайте —> Добавить виртуальный каталог —>> Псевдоним: изображения, Физический путь: c:qawebwwwroot. После этого вы должны перейти к изображениям под http://localhost/images/js/brand.js, http://localhost/images/css/main.css и т.д.
Если это не поможет, подумайте о том, чтобы сохранить статические файлы в другой папке за пределами корневой папки приложения и создать виртуальный каталог, связанный с ней.
Комментарии:
1. Он был создан на уровне сайта.
2. Отслеживание неудачных запросов-полезный способ решения проблемы.