我正在使用UrlReqritingNet在我的asp.net 2.0应用程序中包含url路由。
我想改变
http://mysite.com/book/detail.aspx?id=4
到此:
http://mysite.com/book/a-tale-of-two-cities
这本书存储在一个数据库中,4是本书唯一的主键。
然而,使用此URL我不得不使用书名而不是id来进行数据库查找。我更喜欢使用唯一的ID。
显而易见的解决方案是:
http://mysite.com/book/4
或
http://mysite.com/book/a-tale-of-two-cities?id=4
考虑到SEO,这些网址中的哪一个是理想的?
由于
答案 0 :(得分:2)
为什么不完全像StackOverflow在这个页面上那样做呢?
http://mysite.com/book/4/a-tale-of-two-cities?id=4
将ID放在slug之前的URL中。这样一来,如果塞子被切断,你仍然拥有检索该页面所需的一切。
答案 1 :(得分:1)
网址重写的另一个考虑因素是创建“黑客”网址,以便用户可以通过猜测网址来浏览您的网站。
http://mysite.com/books/detail/a-tale-of-two-cities
然后,您可以使用书名来查询您的图书数据表。但是,如果要执行此操作,则需要确保在运行查询之前标题不是SQL注入尝试(使用sql参数)。
从SEO的角度来看,这也应该比在URL中具有名称 - 值对更好