У меня есть два веб-сайта на одной коробке, и я хочу поменять прокси папку на одном. Это работает только для каталогов, если я создаю каталог на родительском веб-сайте.
, поэтому я хочу http://site/odata/Books
до go до http://myodatasite/odata/Books
Довольно просто , но это не работает, если я go до wwwroot/site и не создаю там папки / odata / Books. Если я сделаю это, переписать работает. Если я вызову / odata / Authors, снова произойдет 404, если я не создам папку Authors.
Похоже, мне нужно иметь сопоставление wilcard в IIS, или что-то еще вызывает сбой перезаписи. Я попытался добавить подстановочный знак, указывающий на aspnet_isapi, и у меня не было изменений, возможно, из-за интегрированного режима, но я пока не нашел ничего полезного в Интернете для этого.
Кто-нибудь знает, почему мое переписывание не работает для каталогов, но перенаправление работает нормально?
<rewrite>
<rules>
<!-- Does Not Work unless folders exist on current site! -->
<rule name="OdataRoutes" stopProcessing="true">
<match url="^odata/(.*)" />
<action type="Rewrite" url="http://myodatasite/odata/{R:1}" />
</rule>
<!-- Works -->
<rule name="OdataRoutes2" stopProcessing="true">
<match url="odata2/(.*)" />
<action type="Redirect" url="http://myodatasite/odata/{R:1}" />
</rule>
<!-- Works -->
<rule name="OdataRoutes3" stopProcessing="true">
<match url="(.*)\.odata" />
<action type="Rewrite" url="http://myodatasite/odata/{R:1}" />
</rule>
</rewrite>