我最近将一个网站迁移到运行 Windows Server 2008 并随后托管在 IIS 7 上的新服务器上。
我已经为页面实现了 URL 重写规则。这是一个例子。
<rule name="RewriteUserFriendlyURL58" stopProcessing="true">
<match url="^(shop)/(item)/([^/]+)/([^/]+)/([^/]+)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="shopitem.aspx?{R:1}&{R:2}&id={R:3}&cat={R:4}&title={R:5}" />
</rule>
URL 应如下所示。http://www.website.com/shop/item/10/products/table/
该页面工作正常,除非我单击按钮并运行此事件。
protected void btnAddToBasket_Click(object sender, EventArgs e)
{
Response.Redirect("~/shoppingbasket/");
}
重定向的结果似乎是对自身进行重定向,然后 URL 更改为:http ://www.website.com/shop/item/10/products/table/?shop&item&id=10&cat=products&title=table
谁能指出我正确的方向?我已经为此做了一些搜索,但似乎找不到任何东西。