我的 Web 表单 ASP.NET 应用程序出现问题,我想从该应用程序中重写 url
进入
http://example.com/page.aspx?id=abcd
- abcd部分将是唯一的,我无法为其创建文件夹
- 我希望用户始终看到http://example.com/abcd网址
- Windows Azure 中的解决方案是否相同?
有人可以帮我一些提示吗?
谢谢你!
我的 Web 表单 ASP.NET 应用程序出现问题,我想从该应用程序中重写 url
进入
http://example.com/page.aspx?id=abcd
有人可以帮我一些提示吗?
谢谢你!
在您的 web.config 中,在 system.webServer 部分中放置如下内容:
<!-- This has been added to support url rewriting for ... -->
<rewrite>
<rules>
<rule name="RedirectUserFriendlyURL1" stopProcessing="true">
<match url="^Page\.aspx$" />
<conditions>
<add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
<add input="{QUERY_STRING}" pattern="^id=([a-zA-Z]+)$" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^([a-zA-Z]+)$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="Page.aspx?id={R:1}" />
</rule>
</rules>
</rewrite>
请注意,我已从生产站点中的配置中复制并进行了一些修改……需要测试。
当您只有单词 ([a-zA-Z]+) 时,配置应该可以工作,更改模式以使其适用于数字。
希望能帮助到你