代码之家  ›  专栏  ›  技术社区  ›  ntan

分类中的友好URL

  •  0
  • ntan  · 技术社区  · 15 年前

    我正在尝试对我的类别使用友好的URL。

    示例数据库

    cat_id    |   parent_id    |  name     |     url
      1               0            cat1          cat1
      2               1            cat2          cat2
    

    我的方法是传递参数cat和url值,例如show.php?类别=类别1 在.htaccess中,我必须重写到/cat1

    但是如果我想进入2类呢?我想重写为cat1/cat2,所以参数是show.php?cat=cat1/cat2,然后分析该值以确保cat2属于cat1。

    等等。

    我没有使用MVC,所以我必须自己做。

    如果有其他更好的解决方案,请建议我阅读

    提前感谢。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Dean Harding    15 年前

    您已经在数据库中保存了“url”,我想说最简单的解决方案是将完整的类别字符串(包括父类)放在数据库的该列中。即:

    cat_id    |   parent_id    |  name     |     url
      1               0            cat1          cat1
      2               1            cat2          cat1/cat2
    

    或者您的问题是关于.htaccess语法吗?

        2
  •  1
  •   Fenton    15 年前

    如果你想重写一个友好的URL,你需要首先使它友好,就像这样…(我假设CAT1是一个适当的类别,例如“音乐”或“新闻”,例如:

    www.yoursite.com/category/cat1/
    show.php?cat=cat1
    

    请注意,我们有“类别”而不是“cat”-友好的URL的概念是它是有意义的(并且可能有助于搜索引擎更好地理解您的页面!)

    然后可以使用.htaccess规则重写URL。

    RewriteEngine on
    RewriteRule ^category/([^/\.]+)/?$ show.php?cat=$1 [L,NC,QSA]