0

我的 Web 表单 ASP.NET 应用程序出现问题,我想从该应用程序中重写 url

http://example.com/abcd

进入

http://example.com/page.aspx?id=abcd

  • abcd部分将是唯一的,我无法为其创建文件夹
  • 我希望用户始终看到http://example.com/abcd网址
  • Windows Azure 中的解决方案是否相同?

有人可以帮我一些提示吗?

谢谢你!

4

1 回答 1

0

在您的 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]+) 时,配置应该可以工作,更改模式以使其适用于数字。

希望能帮助到你

于 2012-07-27T21:27:40.977 回答