2010-04-22 91 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]