代码之家  ›  专栏  ›  技术社区  ›  Developer Marius Žilėnas

asp.net mvc路由捕获/{sometoken}

  •  1
  • Developer Marius Žilėnas  · 技术社区  · 6 年前

    有一个网站在 http://www.example.com/ 它应该对 http://www.example.com网站/ {某个记号}。其中{sometoken}是长度为6的字符串。

    我就是这样尝试的,但没有成功,我做错了什么?

     routes.MapRoute(
                    "TokenRoute",
                    "{someToken}",
                    new { controller = "Controller1", action = "GetIdAction" },
                    new { someToken = "^[a-f0-9]{6}$" }
                    );
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Developer Marius Žilėnas    6 年前

    这是URL重写,应在web.config中配置。

    <system.webServer>
     <rewrite>
        <rules>
          <rule name="someToken">
            <match ignoreCase="false" url="^([a-f0-9]{6})$" />
            <action type="Rewrite" url="Controller1/GetIdAction?someToken={R:1}" />      
          </rule>
        </rules>
      </rewrite>
    </system.webServer>
    

    https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module