0
我有老的WordPress網站。它的網址,如:捕捉網址GET參數
/?wpsc-product=abc
我已經建立在Django一個新的網站,具有像URL:
/products/abc/
我如何能趕上舊網址,並將其重定向到新的?其實,我不知道我怎麼能趕上網址參數。
我希望能寫的每一個重定向,而不是使正則表達式,因爲我沒有把所有的蛞蝓,他們中的一些改變。
我有老的WordPress網站。它的網址,如:捕捉網址GET參數
/?wpsc-product=abc
我已經建立在Django一個新的網站,具有像URL:
/products/abc/
我如何能趕上舊網址,並將其重定向到新的?其實,我不知道我怎麼能趕上網址參數。
我希望能寫的每一個重定向,而不是使正則表達式,因爲我沒有把所有的蛞蝓,他們中的一些改變。
您不能在您的urls.py
中捕獲像?wpsc-product=abc
這樣的GET參數,但可以編寫一個視圖來檢查GET參數並重定向到新視圖。
下面是一個簡化urls.py與兩個視圖。索引視圖重定向請求與參數和重定向他們(如/?wpsc-product=abc
),並且還處理請求,不帶任何參數(即/
,並返回所呈現的指標模板。
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^products/(?P<slug>[-\w]+)/$', views.view_product, name='view_product'),
]
from django.shortcuts import redirect, render
def index(request):
# check for wpsc-product in GET params
if 'wpsc-product' in request.GET:
return redirect('view_product', slug=request.GET['wpsc-product'])
else:
# return the regular index template
return render(request, 'index.html', {})
這部分答案,因爲URL重定向到同塞。如果塞在新的網站已經改變了它不會工作。好主意,無論如何。 – bmiljevic
您可以訪問在視圖中塞,它很容易,如果有必要去改變它。 – Alasdair