Перезапись IIS с использованием строки запроса и вопросительного знака IIS 7 - PullRequest
4 голосов
/ 26 мая 2011

Я прочитал темы и до сих пор не могу разобраться, моя проблема мне известна, но мне интересно, может ли я указать правильное направление.

Я установил правило:

www.mydomain.com/productlist.asp?CategoryID=2

переписано в

www.mydomain.com/homeware/cushions

.

            <rule name="cushions">
                <match url="^homeware/cushions" />
                <action type="Rewrite" url="productlist.asp?CategoryID=2" />
            </rule>

хорошо, теперь моя проблема с разбиением на страницы результатов, поэтому исходный домен, когда пользователь переходит на следующую страницубудет выглядеть так:

www.mydomain.com/productlist.asp?CategoryID=2&Page=2

Вот где у меня проблемы - я хочу, чтобы это стало:

www.mydomain.com/homeware/cushions?page=2

и продолжалось, сколько страниц просто не может их достатьработа - я понимаю, что мне нужно использовать строку запроса, но очень трудно.Обращаемся за помощью, спасибо за любую помощь

Ответы [ 2 ]

2 голосов
/ 27 июня 2011

Чтобы захватить строку запроса, вам необходимо использовать условия для этого, поскольку соответствующий URL-адрес не включает ее. Так что вы можете сделать это с помощью правила вроде:

<rule name="cushions" stopProcessing="true">
<match url="^homeware/cushions$" />
<conditions>
    <add input="{QUERY_STRING}" pattern="page=(\d+)" />
</conditions>
<action type="Rewrite" url="productlist.asp?CategoryID=2&amp;page={C:1}" appendQueryString="false" /> 

0 голосов
/ 04 июля 2011

Просто добавьте appendQueryString = "true" в действии, чтобы автоматически добавить строку запроса.

<rewrite>
        <rules>
            <rule name="test">
                <match url="^homeware/cushions" />
                <action type="Rewrite" url="/test/test.cfm?category=5" appendQueryString="true" />
                <conditions>
                </conditions>
            </rule>
        </rules>
    </rewrite>

http://localhost:8081/homeware/cushions?page=2 Вы получите страницу в переменной URL со значением 2.

...