2013-01-23 18 views
8

Çalıştığım bir proje için varolan bir dosyayı yeniden adlandırıyorum. Geriye dönük uyumluluk sağlamak için, kullanıcıları yenisine yönlendirmek için bir cfm dosyası bırakıyorum.cflocation vs 301 yönlendirmeleri için cfheader

  • buy.cfm: Eski
  • shop.cfm: Yeni

, bir kullanıcı gitmek çalışırsa 301 statuscode yanıt göndermek istediğiniz mümkün olduğunca temiz herşeyi tutmak amacıyla buy.cfm.

ben statuscode özniteliği

<cflocation url="shop.cfm" statuscode="301" addtoken="false"> 

ile ya cflocation kullanabilir veya ben cfheader etiketleri kullanabilirsiniz biliyoruz.

<cfheader statuscode="301" statustext="Moved permanently"> 
<cfheader name="Location" value="http://www.mysite.com/shop.cfm"> 

herhangi nedenler diğeri üzerinde bir yöntem kullanmak mı?

cevap

11

onlar <cflocation> ben ColdFusion bu test

+1

Henry ile görüşün. 'Cfheader' versiyonu sadece sizin için cflocation'nın ne yaptığı el ile hazırlanmış bir versiyonudur. –

+3

Tamam, biraz daha fazla okuma yaparak, CF8'e kadar "statuscode" özniteliği eklenmemiş gibi görünüyor, bu nedenle cfheader daha önceden yalnızca durum kodunu döndürmek için tek yoldu. –

+1

FYI - cflocation durum kodu sadece 300 ile 307 arasındaki değerleri kabul eder.Yeni oluşturulan bir kaynağın yerini cfheader kullanmanız gereken 201 durum koduyla birlikte geri göndermeniz gerekir. –

4

daha okunabilir olması ile, aynı şeyi düşünüyorum 9.

Orada bir büyük değişiklik olduğunu ve bu cflocation olduğu yürütülmesini durdurur Sayfayı ve ardından belirtilen kaynağa yönlendirir.

Adobe ColdFusion documentation itibaren

: Geçerli sayfanın

durdurur yürütme ve ColdFusion sayfasını veya HTML dosyasını açar.

Yani bunu yapmak gerekir:

<cfheader statuscode="301" statustext="Moved permanently"> 
<cfheader name="Location" value="http://www.example.com/shop.cfm"> 
<cfabort> 

bu eşdeğer almak için: Aksi

<cflocation url="shop.cfm" statuscode="301" addtoken="false"> 

, Sorunlarla çalışan riski diğer kod cfheader etiketinden sonra çalışıyorsa . Yönlendirmelerin, cfheader kullanarak bir application.cfm dosyasına eklendiği ve sayfa işlemenin geri kalanını iptal etmeden bazı kodları düzeltirken buna rastladım.

Ben de cevap başlıklarında, o cflocation da buna göre aşağıdaki başlıklar setleri, fark:

Cache-Control: no-cache 
Pragma: no-cache 

biri bu başlıkları eklemek isteyebilirsiniz gerekirse Konum cfheader etiketi kullanarak eğer:

İlgili konular