Корневой путь нашего приложения IIS, например, http:// server/MyApp/
это означает, что все URL-адреса, использующие корень приложения ("~/",Url.Action("MyAction","MyController")), разрешаются в " /MyApp"
Теперь мы работаем через прокси-сервер, который перенаправляет все запросы, но требует, чтобы вы получили доступ к приложению через URL-адрес, подобный этому:
"/Secury/Proxy/RubbishUrl/MyApp"
Поскольку URL-адрес прокси-сервера доступен только на клиенте, я подумал о создании файла cookie с префиксом пути и вставке его перед каждым сгенерированным URL-адресом на сервере.
Теперь вопрос в том, в каком месте кода лучше всего изменять каждый URL-адрес, который разрешается/отправляется клиенту (ресурсам, действиям контроллера, изображениям и т. д.)?
Каждый путь в приложении разрешается с помощью методов MVC (Url.Content, Url.Action и т. д.).
Обновление:Больше не ищу активно ответ (хотя все еще интересуюсь правильное решение)
В большинстве случаев прокси-серверы самостоятельно преобразуют URL-адреса, однако в этом случае прокси-сервер игнорирует пути, передаваемые в формате JSON, и они обрабатываются.
Мое «решение» на данный момент — просто не передавать пути в JSON, а вместо этого:
- использование правильных идентификаторов и значений в запросах JSON
- создание шаблона в URL-адресах в HTML (которые разрешаются правильно),
- замените идентификаторы и значения в шаблоне URL со значениями из запросов JSON
Подробнее здесь: https://stackoverflow.com/questions/259 ... ative-path