У меня странная проблема с ASP. NET Core 3.1, которой у меня нет в моих ASP. NET 4 приложениях, где, если я получаю доступ к своему приложению через
http://example.com/Application/
, тогда все работает нормально, но если я попытаюсь go до
http://example.com/Application
(без трейлинга sh)
, то относительные адреса на стороне клиента решить http://example.com/Resource
вместо http://example.com/Application/Resource
.
У меня были похожие проблемы, связанные с root приложения. Например, /Resource
, кажется, означает относительно домена, и поэтому выдает http://example.com/Resource
. Resource
само по себе правильно дает http://example.com/Application/Resource
. Но как ссылаться на сам "root"? Перенаправление на пустую строку, кажется, обновляет sh страницу вместо перенаправления в приложение root.
Я справился с этим, используя .
и ./Resource
вместо Resource
, Похоже, это работает почти во всех случаях, за исключением случаев, когда доступ к приложению без завершающего слэ sh.
При обращении к http://example.com/Application
, AJAX вызовам с таргетингом на URL-адреса вида ./Method?handler=name
приводит к запросу http://example.com/Method?handler=name
(отсутствует часть пути Application
).
Как получить относительные адреса на стороне клиента для последовательного обращения к правильному адресу root приложения? Или возможно, что это нормальное поведение?