MVC 5 Url仅重写完全匹配

时间:2017-02-20 09:51:03

标签: c# asp.net-mvc url-rewriting

我的网站上有一个虚拟目录,不再存在/ app

我想将所有请求重定向到主页,但只有当它完全是url / app我尝试了以下但这也重定向了网址/约会

ListView listView = (ListView) findViewById(R.id.listView);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
adapter.add("Blue");
adapter.add("None");
adapter.add("Red");
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    int color;

    Drawable background = view.getBackground();
    if (background instanceof ColorDrawable) {
      color = ((ColorDrawable) background).getColor();
      Log.d("MainActivity", Integer.toHexString(color));
    }
  }
});
listView.setAdapter(adapter);
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    listView.getChildAt(0).setBackgroundColor(ContextCompat.getColor(MainActivity.this, android.R.color.holo_blue_dark));
    listView.getChildAt(2).setBackgroundColor(ContextCompat.getColor(MainActivity.this, android.R.color.holo_red_dark));
  }
});

我知道问题在于使用正则表达式但我不确定如何解决它

2 个答案:

答案 0 :(得分:0)

使用此

解决了这个问题
<rule name="RedirectToRoot" patternSyntax="ECMAScript" stopProcessing="true">
    <match url="^app/(.*)" />
    <action type="Redirect" url="{R:1}" redirectType="Permanent"/>
</rule>

答案 1 :(得分:0)

您可以使用MVC 5中的以下解决方案。

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        // Add the below 
                    routes.MapMvcAttributeRoutes();
// Add the below ^^

       routes.MapRoute(
                  name: "Default",
                  url: "{controller}/{action}/{id}",
                  defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
              ); 

RouteConfig.cs你必须添加routes.MapMvcAttributeRoutes();.完成后,您只需在行动方法上标记[路线(&#34; MyDenfinedURL&#34;)]

[Route("MyDenfinedURL")]
 public ActionResult MyAction()
        {
           //My do over the method    
            return View();
        }

一旦完成,你的工作就结束了。我的来源链接:http://www.dotnet-stuff.com/tutorials/aspnet-mvc/understanding-url-rewriting-and-url-attribute-routing-in-asp-net-mvc-mvc5-with-examples