2017-04-12 25 views
0

我想設置我的網址正確,避免做類似下面,因爲它afects我的谷歌指數化例子:如何管理Django的URL別名重定向?

urls.py(錯誤的方式):

url(r'^virtual-reality/$', views.virtualreality, name="virtual-reality"), 
url(r'^virtual-reality$', views.virtualreality, name="virtual-reality"), 
url(r'^vr/$', views.virtualreality, name="virtual-reality"), 
url(r'^vr$', views.virtualreality, name="virtual-reality"), 

正如你所看到的我想要vr/,vr,virtual-reality/,virtual-reality重定向到同一頁面。我的網站上有30多個網址,並且像這樣做每個url重定向都是有問題的,因爲結構在不斷增長。

我不在我的Django站點上使用Apache,因此無法進行重寫規則。 (我在pythonanywhere(網絡服務器:Gunicorn))

什麼是最好的方式來重定向所有類型的別名在同一視圖中,而不會影響我的谷歌搜索索引,並避免用相同的視圖輸入每個url urls.py ?

+2

請注意,您可以在末尾不加斜槓而改爲使用['APPEND_SLASH'](https://docs.djangoproject.com/en/stable/ref/settings/#append-slash)。 – knbk

回答

2

最好的方法是使用django重定向應用程序https://docs.djangoproject.com/en/1.10/ref/contrib/redirects/你可以使用它輕鬆管理來自admin的重定向。

+0

是否有任何中間件的訂單,因爲我剛剛嘗試過,當我嘗試通過管理面板重定向前:'/ vr /'到'/ virtual-reality /' – Lindow

+0

我無法正常工作第一個中間件,它工作得很好。請注意APPEND_SLASH設置。 –

+0

迄今爲止最好的解決方案 – Lindow