c# - mvc.net 动态 url

标签 c# asp.net-mvc seo

我希望制作一个 MVC 站点,它可以使用路由完全控制 url 结构。

 routes.MapRoute(
            "BlogView",//路由名称
            "view/{blogurl}",//带参数的 URL
            new { controller = "view", action = "view", productLink = ""}//参数默认值
        );

        路线.MapRoute(
            "ProductGrid",//路线名称
            "category/{category}",//带参数的 URL
            new { controller = "category", action = "Index", category = ""}//参数默认值
        );

我目前有以下网址;

www.myblog.com/view/first-post

www.myblog.com/view/another-post

www.myblog.com/category/code

www.myblog.com/category/example

前两个 url 与详细 View 相关,后两个 url 与类别 View 相关。

我有一个具有以下结构的数据库;我确保 url (chrUrl) 是唯一键。 网址 ( idurl (int), 网址, Action , chr Controller )

我的计划是可以查找重写路由查找表,以便以下 url 重定向到站点中的正确 View 和页面;

www.myblog.com/first-post

www.myblog.com/another-post

www.myblog.com/code

www.myblog.com/example

这可能吗?除了性能,这有什么问题吗?我应该如何解决这个问题?

最佳答案

由于您没有任何东西可以区分 View 和类别项目,我会考虑使用默认 Controller 来检查 id 是否在类别表中并将控制权传递给 View 或类别 Controller 。

routes.MapRoute(
            "Root",  // Route name
            "/{id}",    // URL with parameters
            new { controller = "default", action = "redirect"}  // Parameter defaults
        );

但如果您可以接受在类别 URL 中包含“/category/”,那将是后端更优雅的解决方案。

关于c# - mvc.net 动态 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2150295/

相关文章:

c# - 从 C# 程序访问 C++ DLL 中的多个函数

asp.net - 使用 ASP.NET Identity 和 Autofac OWIN 集成进行授权

asp.net-mvc - MVC - SQL session 状态与在数据库中存储值

c# - ASP.NET MVC : Register action filter without modifying controller

.htaccess - 使用 .htaccess 的 Google SEO 友好 URL?

c# - 将变量从 C# - IronPython 传递到 Python 脚本

c# - AutoMapper IValueResolver 抛出错误类型不能用作泛型类型或方法中的类型参数 'TValueResolver'

php - 如何从此URL“http://localhost/blog/public/post?id = 2”中删除“?id =”?

c# - 将 datagridview 从一种形式传递到另一种形式 C#

dns - 网站服务器更改后奇怪的谷歌结果