【问题标题】:URL Routing,cleaner urls without idURL 路由,没有 id 的更干净的 url
【发布时间】:2011-04-02 15:43:34
【问题描述】:

大家好,我有一个关于 .Net 4.0 中的 URL 路由功能的问题

我要重写的 URL 是:www.mysite.com/counties.aspx?id=12 我可以让它像这样工作:www.mysite.com/12/egypt

但我希望它在不通过查询中的国家/地区 id 的情况下工作,看起来像这样 www.mysite.com/egypt

所以,我想知道如何在不显示在 url 中的情况下传递该参数。我想到的另一种方法是使用国家名称而不是 id 选择记录,并删除可能出现在国家名称中的任何空格。但我不喜欢它,我想让它与 id 一起工作。

有人可以帮忙吗?

【问题讨论】:

    标签: asp.net url url-rewriting url-routing


    【解决方案1】:

    您需要使用 Session、缓存或类似的东西;或通过埃及,并进行数据库查找以从参考表中取回 12 值。

    HTH。

    【讨论】:

    • 感谢 Brian 的回复,我认为 session 不适合搜索引擎,我认为我会将国家名称作为我的选择参数,而不是查找。
    【解决方案2】:

    我以前遇到过这个问题。我在 Country 表中添加了 ShortUrl 字段。然后将其作为查询字符串传递。 www.mysite.com/counties.aspx?shortUrl=egypt。这样,您的 url 可以如下所示:www.mysite.com/egypt。当然,您需要更改查询以根据 shortUrl 而不是 id 获取国家/地区。

    【讨论】:

    • 谢谢詹姆斯,我也会这样做,也许我会在 ShortUrl 列上创建一个索引来优化查询性能。
    • 您好 Khaled,感谢您的回复。全球不到 200 个国家/地区,全表扫描应该执行得很好,因此索引可能没有太大区别。
    • 我同意詹姆斯,但这个国家只是一个例子:),谢谢
    猜你喜欢
    • 2015-09-27
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 2013-09-03
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多