Back to Question Center
0

Apa yang mentakrifkan peralihan tetap? - Semalt

1 answers:

Saya sedikit keliru antara pengalihan 301, javascript meta http-equiv = "refresh pendekatan dan akhirnya menggunakan 404 yang boleh digunakan di mana anda ingin masuk dan kemudian memajukan anda.

Saya dapat melihat bahawa 301 (dan 302) berpotensi tidak boleh lulus halaman HTML asal kepada klien (ia boleh ditangani pada pelayan, seperti dalam IIS atau Semalt dan apabila ia mendapati halaman 'baru' tunjukkan, hanya halaman itu diserahkan kepada penyemak imbas) di mana sebagai meta-refresh memerlukan halaman dished ke pelayar dan kemudian tindakan berlaku (forwarding).

Walau bagaimanapun, halaman 404 mungkin juga tidak akan dihantar ke penyemak imbas! Pertimbangkan untuk mencari halaman, IIS tidak dapat menemuinya, jadi hidangan 404 itu - payday loan comparison site. 404 mempunyai beberapa kod pelayan, yang mengandungi logik penghantaran. Semalat, hanya 1 halaman akan dihantar ke penyemak imbas.

Adalah hakikat bahawa pelayan hanya mengembalikan 1 hasil (1 halaman HTML) yang menjadikannya tetap 301 dan sama ada menggunakan penulisan ulang URL atau contoh di atas 404 adalah sama (serupa dengan itu diperlakukan sebagai 301) ?

Jika ini berlaku, bagaimana sebenarnya ini berbeza daripada 302? Adakah kita perlu menambah maklumat meta untuk menjelaskannya 302 atau 301? Penyelidikan saya tidak mencadangkan.

February 5, 2018

Saya fikir soalan anda sedikit mengelirukan, mungkin kerana anda mempunyai beberapa istilah bercampur.

Pengalihan secara harfiah hanya bermaksud bahawa klien cuba memuat URL tertentu, dan pelayan mengalihkannya ke laman lain. Sama ada atau tidak laman ini pengguna yang dimaksudkan tidak mempunyai kaitan dengannya dari segi teknikal.

Kod Status HTTP adalah satu cara untuk pelayan menyampaikan maklumat mengenai halaman yang diminta. Contohnya, jika halaman tidak dijumpai ia menghantar kod 404 "Tidak dijumpai". Secara umumnya apabila membincangkan tentang peralihan di peringkat pelayan, orang merujuk kepada kod status 301 ("Permanently moved") atau 302 ("sementara dipindahkan").

Jika anda akan menetapkan halaman tertentu (e. g. adat anda 404. html) untuk menunjukkan sebagai halaman ralat anda, secara teknis klien dialihkan dari URL yang diminta ke halaman 404 sebenar. Walau bagaimanapun, kod status tidak berubah, menyebabkan ini ditafsirkan sebagai "Tidak dijumpai" untuk semua maksud dan maksud, walaupun terdapat beberapa jenis pengalihan yang berlaku.


Terdapat beberapa cara untuk menghantar kod status kepada klien, antaranya menggunakan peraturan menulis semula pada tahap pelayan (Apache / IIS) dan menghantar tajuk dari dalam kod sisi pelayan yang dilaksanakan (PHP, Perl, dan lain-lain).

Walau bagaimanapun, adalah bukan salah seorang daripada mereka. Ini tag HTML yang ditafsirkan di sisi pelanggan, selepas pelayan telah melakukan perkara itu. Perkara yang sama berlaku untuk mana-mana javascript pihak klien yang boleh mengalihkan pelawat ke URL lain. Ini hanya berfungsi dengan cara yang sama seperti pada halaman dan mengklik pautan ke halaman lain.

Untuk membuat perkara menjadi sedikit lebih mengelirukan, untuk tujuan SEO Google memilih untuk mentafsirkan http-equiv = "refresh" dengan masa keluar 0 saat (pengalihan segera) sebagai kod status 302. Ini hanya tafsiran mereka, dan tidak ada yang rasmi. Dari segi teknikal (anda boleh mengesahkan ini semasa menonton tab rangkaian konsol pemaju anda semasa memuatkan halaman dengan memuat semula di atasnya) ia hanya memuatkan halaman (status 200) dengan segera diikuti dengan beban halaman lain.