2010-04-22 96 views
0

我想为我的类别使用友好的网址。类别中的友好网址

示例数据库

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

我的方法做的是传递参数猫例如url值show.php?猫= CAT1 和在.htaccess我必须重写/ CAT1

但是当我想要访问cat2时呢?我想重写为cat1/cat2,所以参数是show.php?cat = cat1/cat2,然后解析该值以确保cat2属于cat1。

依此类推。

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

如有任何其他解决方案是更好的,请咨询或建议我读提前

谢谢。

回答

1

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

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

或者你的问题是.htaccess语法?

+0

我改用路径。我的问题是关于我将用来实现它的技术。 – ntan 2010-04-22 06:51:20

1

如果你想重写一个友好的URL,你需要先让它友好,就像这样...(我假设cat1将是一个合适的类别,比如“音乐”或“新闻”,例如:

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

请注意,我们有“类”而不是“猫” - 一个友好的URL的想法是,它是有道理的

然后,您可以(也许有助于搜索引擎理解你的页面更好!)用.htaccess规则重写URL。

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