2010-02-02 85 views
1

乾草傢伙,即時製作一個簡單的汽車銷售網站。我有一個可愛的小urlpattern,其效果如預期django路線幫助

/car/1/ 

去那輛車的ID,簡單嗎?

但是,對於搜索引擎優化的原因,我想增加額外的數據到網址,但忽略它。

/car/1/ford/focus 

作爲一個例子,我將如何去修改我的模式,以考慮額外的部分?

2個模式會去相同的地方並加載相同的視圖。

任何想法?

回答

10

這不會幫助您的搜索引擎優化 - 事實上它會積極傷害它。如果/car/1/,/car/1/ford//car/1/ford/focus/都轉到相同的URL,那麼實際上您已經減少了該頁面的搜索權限。這是一個非常糟糕的主意。

如果你真的想這樣做,這是非常簡單的:

r'^car/(?P<car_id>\d+)/.*/$' 

但我真的不會這麼做。一個更好的想法是離開了ID和使用的品牌和型號,以讓賽車:

r'^car/(?P<make>\w+)/(?P<model>\w+)/$' 

好,你現在的形式/car/ford/focus/網址,並在您的視圖,你可以這樣做:

def myview(request, make, model): 
    car = Car.objects.get(make=make, model=model) 
+1

+1的SEO建議 – 2010-02-02 11:28:25

+0

我同意,要好得多離開了ID,並創建一個訪問的URL - 見http://www.ibm.com /developerworks/library/us-cranky8.html獲取更多信息 – Frozenskys 2010-02-02 11:29:29

+0

謝謝,非常好的主意。 – dotty 2010-02-02 11:38:35

1

使用SlugField(或AutoSlugField)用於構建SEO友好的URL

+0

我實際上轉移到了這種方法 – dotty 2010-02-12 16:05:21