У меня есть веб-приложение, работающее на сервере IIS8.
Мой фронт без проблем обращается к моему API. Они оба находятся в одной папке на одном сервере. Запрошенный URL выглядит так: api / customer / register
Теперь я хочу, чтобы другое веб-приложение (из другого домена) получало доступ к моему API с этим URL-адресом: https: // mydomain / api / customer / register
Когда я пытаюсь запросить свой api, я получаю следующее сообщение:
No HTTP resource was found that matches the request URI 'https://mydomain/api/api/customer/register'
Проблема заключается в двух api / в URL-адресе. Как я могу это решить?
Вот мой web.config
<?xml version = "1.0" encoding = "UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name = "web-rewrite">
<match url = "^(?!(api/|shibboleth|poc/|outlook))(.*)" />
<action type = "Rewrite" url = "web/{R:0}" />
</rule>
<rule name = "web-rewrite-files" stopProcessing = "true">
<match url = "^web/(.*)" />
<conditions logicalGrouping = "MatchAll">
<add input = "{REQUEST_FILENAME}" matchType = "IsFile" negate = "true" />
</conditions>
<action type = "Rewrite" url = "web/" />
</rule>
<rule name = "api-rewrite">
<match url = "^(api/)(.*)" />
<action type = "Rewrite" url = "api/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
Или удалите скобки для захвата из свойства url в теге соответствия. Как это ^api/(.*)
@AlbertVanHalen это ничего не меняет;
@EamonnMcEvoy Я получаю 404 с вашим решением ...





Попробуйте изменить URL-адрес в
api-rewriteсapi/{R:0}наapi/{R:1}или{R:0}