我的网站上有一个虚拟目录,不再存在/ 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));
}
});
我知道问题在于使用正则表达式但我不确定如何解决它
答案 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