В моей конфигурации IIS 7 я создал удобные URL-адреса для преобразования:
http://mysite/restaurant.aspx?Name=SomeName
в
http://mysite/SomeName
Для этого у меня есть следующие правила:
<rule name="RedirectUserFriendlyURL1" enabled="true" stopProcessing="true">
<match url="^Restaurant\.aspx$" />
<conditions>
<add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
<add input="{QUERY_STRING}" pattern="^Name=([^=&]+)$" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>
<rule name="RewriteUserFriendlyURL1" enabled="true" stopProcessing="false">
<match url="^([^/]+)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" pattern=".aspx" negate="true" />
</conditions>
<action type="Rewrite" url="Restaurant.aspx?Name={R:1}" appendQueryString="false" />
</rule>
- Кажется ли вышеупомянутое правильно для достижения того, что я пытаюсь?
По какой-то причине на каждом постбеке я получаю:
http://somesite/SomeName?Name=SomeName
Обратите внимание, что я установил appendQueryString в false.