asp.net последовательно убирается обратная косая черта из URL - PullRequest
0 голосов
/ 28 октября 2010

У меня возникла проблема в моем веб-приложении ASP.NET, когда намеренно последовательные обратные косые черты удаляются из URL-адреса запроса.

Я буду запрашивать что-то вроде: localhost / Page / A // C

Но когда запрос попадает на страницу, необработанный URL-адрес выглядит так: localhost / Page / A / C

Не уверен, что это виновник, но у меня есть регулярное выражение Url Rewite,вот правило:

   <system.webServer>
        <rewrite>
            <rules>
                <rule name="Games QueryString">
                  <match url="^(Page|OtherPage).aspx(?:/([\w-_()]+)(?:/([\w-_() ]*)(?:/([\w-_()]+))?)?)?$" />
                  <action type="Rewrite" url="{R:1}.aspx?1={R:2}&amp;2={R:3}&amp;3={R:4}" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>

Итак, после переписывания строка запроса будет выглядеть как Page.aspx? 1 = A & 2 = C & 3 = Когда это должно быть Page.aspx? 1 = A & 2 = & 3 = C

Помогите пожалуйста !!

1 Ответ

0 голосов
/ 28 октября 2010

Возможно, вы могли бы изменить свое регулярное выражение на что-то вроде этого:

^(Page|OtherPage).aspx(?:/+([\w-_()]+)(?:/+([\w-_() ]*)(?:/+([\w-_()]+))?)?)?$

Я добавил «+» после ваших совпадений на «/», который меняет их с принятия одного «/» на принятиеодин или несколько.

Кроме того, я не могу до конца жизни понять, почему вы хотите иметь дополнительные косые черты там.Наверное, плохая идея.Пересмотреть это по любой причине.

...