c# - 在运行时以编程方式重写映射规则

标签 c# asp.net url-rewriting

是否可以通过编程方式为 ASP.NET 3.5 添加静态重写映射规则

我有:-

<rewriteMaps>
    <rewriteMap name="My Name">
        <add key="/Sales" value="/Test.aspx?id=10" />
        <add key="/Sales-And-Marketing" value="/Test.aspx?id=10&amp;dog=cat" />
    </rewriteMap>
</rewriteMaps>

但想在运行时以编程方式添加这些?

最佳答案

我知道有点晚了,但你可以通过将 url 放在单独的配置中以编程方式完成

    <rewrite>
  <rewriteMaps  configSource="urls.config" />
  <rules>
    <rule name="Rewrite rule1 for StaticRedirect">
      <match url=".*" />
      <conditions>
        <add input="{StaticRedirect:{REQUEST_URI}}" pattern="(.+)" />
      </conditions>
      <action type="Rewrite" url="{C:1}" appendQueryString="false" />
    </rule>
  </rules>
</rewrite>

然后,当你的 url 发生变化时,你需要写入这个配置文件,当有一个页面被更改并通过 CMS 管理系统保存时,我会这样做,使用 web 服务与客户网站对话并指示它重建文件。

我遇到的唯一问题是这似乎不希望在 Visual Studio 开发 Web 服务器中工作

关于c# - 在运行时以编程方式重写映射规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1178461/

相关文章:

Apache .htaccess : How to rewrite backslash with slash on Firefox?

c# - 在 C# 中读取 VB 6 二进制文件

c# - 将 C# 7.2 'in' 参数修饰符放在各处是否有用

c# - 使脚本包包含另一个脚本包

apache - 重定向错误 : Wordpress + Let's Encrypt (Certbot) + SSL only + non-www

c# - CodedUI 测试更改 URL

c# - SymbolFinder.FindReferencesAsync 未找到任何内容

javascript - 自动刷新 ASP.NET 不闪烁页面

asp.net - .NET Web API 2 OWIN 承载 token 身份验证

asp.net - 使用 JQuery 在 GridView ASP.NET 中选择所有复选框