IIS переписать URL дважды?

У меня есть URL ‘/ quote / details / e4dd5f4e4c705436ba381b0dc06fccc0’, который переписывается в: ‘/ quote / details /? RetrieveQuote = e4dd5f4e4c705436ba381b0dc06fccc0’

<rule name="Rewrite Saved Quote to Query String Type" stopProcessing="false">
<match url="^quote/details/([^/]+)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="quote/details/?retrieveQuote={R:1}" appendQueryString="true" />
</rule>

Это работает, потому что, когда я устанавливаю stopProcessing в true, я получаю 404 с правильным выводом:
Запрашиваемая ссылка URL / details /? RetrieveQuote = e4dd5f4e4c705436ba381b0dc06fccc0

Теперь это должно быть переписано как остальная часть сайта, используя это:

<rule name="Rewrite to Index" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{URL}" pattern="/admin/+" ignoreCase="false" negate="true" />
<add input="{URL}" pattern="/api/+" ignoreCase="false" negate="true" />
<add matchType="IsFile" negate="true" />
<add matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" appendQueryString="true" />
</rule>

Но по какой-то причине это не так, и если я использую $ _SERVER [‘REQUEST_URI’], он печатает: quote / details / e4dd5f4e4c705436ba381b0dc06fccc0, но должен быть: quote / details /? RetrieveQuote = e4dd5f4e4c705436ba381b0dc06fccc

Есть идеи, как заставить его работать правильно?

0

Решение

Я не смог найти никакого решения для этого, поэтому я создал правило маршрутизации и выделил обязательный параметр из URL.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]