Alamat IP domain untuk www dan non-www untuk URL Canonical

Untuk menangani URL Canonical, apakah praktik terbaiknya melakukan pengalihan 301 atau lebih baik memiliki Alamat IP yang sama untuk domain www dan non www?

Misalnya:

URL/domain kanonik yang diinginkan adalah http://example.com

Domain           | A Record
------------------------------------
example.com      | 192.0.2.34
www.example.com  | 192.0.2.34

Saya memahami orang-orang mungkin memiliki data CNAME untuk www (alias, mengingat CNAME disebut Nama Kanonik); tidak yakin apakah ini praktik terbaik dibandingkan menggunakan alamat IP yang sama.

Atau ini lebih baik.

Domain           | A Record
------------------------------------
example.com     | 192.0.2.34
*  www.example.com 301 redirect to example.com

person Wasabi Developer    schedule 24.10.2013    source sumber


Jawaban (3)


Mekanisme yang Anda jelaskan (catatan A dan CNAME vs. 301 pengalihan) adalah bagian dari dua protokol berbeda (DNS dan HTTP). Catatan A dan CNAME tidak ada hubungannya dengan situs mana yang dilayani server HTTP Anda untuk permintaan yang berbeda.

Mari kita lihat dua konfigurasi DNS yang berbeda:

Konfigurasi 1 (catatan CNAME)

Host             | Type  | Data
-----------------+-------+-------------
example.com      | A     | 192.0.2.34
www.example.com  | CNAME | example.com
  • nslookup example.com memutuskan untuk 192.0.2.34
  • nslookup www.example.com memutuskan untuk 192.0.2.34

Konfigurasi 2 (catatan A)

Host             | Type  | Data
-----------------+-------+-------------
example.com      | A     | 192.0.2.34
www.example.com  | A     | 192.0.2.34
  • nslookup example.com memutuskan untuk 192.0.2.34
  • nslookup www.example.com memutuskan untuk 192.0.2.34

Dalam kedua kasus tersebut, domain kanonis dan subdomain www Anda ditetapkan menjadi 192.0.2.34. Namun, satu-satunya hal yang dikenali oleh server HTTP Anda adalah ia menerima permintaan untuk example.com dan www.example.com pada alamat IP yang sama. Namun ia tidak mengetahui apakah Anda menggunakan data A atau CNAME untuk itu.

TL;DR

Anda harus menggunakan pengalihan HTTP 301 untuk menerapkan example.com kanonik dalam permintaan HTTP. Tapi itu tidak ada hubungannya dengan konfigurasi DNS Anda.

person PoByBolek    schedule 25.10.2013
comment
Terima kasih untuk penjelasan rinci. Pengalihan HTTP atau catatan A ke server yang akan menyelesaikan pengalihan akan menyelesaikan masalah url kanonik. Anda adalah orang yang baik, saya menghargai waktu Anda. - person Wasabi Developer; 25.10.2013
comment
Penjelasan yang bagus. Tapi saya punya satu pertanyaan. bagaimana cara memaksa menggunakan www daripada kanonik? Untuk salah satu domain saya hanya melayani domain kanonik meskipun saya mengunjungi www. itu dialihkan ke url kanonik. Ada ide? - person Saurin Dashadia; 05.08.2016
comment
@SD Pengalihan ini disebabkan oleh server web Anda. Periksa konfigurasi server web Anda apakah ada pengalihan dari domain www ke domain kanonik Anda dan hapus jika Anda tidak menginginkannya. - person PoByBolek; 11.08.2016
comment
@PoByBolek maksud Anda saya harus memeriksa konfigurasi Apache untuk ini? - person Saurin Dashadia; 11.08.2016
comment
@SD ya, tentu saja - person PoByBolek; 11.08.2016
comment
@PoByBolek Saya baru saja memeriksa file Apache.conf, conf-enabled/* dan juga sites-enabled/000-default.conf. Saya tidak menemukan sesuatu yang mencurigakan. Itu mungkin karena saya tidak yakin dengan apa yang saya cari. Maukah Anda membantu saya di sini? - person Saurin Dashadia; 13.08.2016
comment
@PoByBolek saya sudah selesai. Semua pengaturan sudah benar tetapi urlnya berasal dari db. Saya konyol. Bagaimanapun, terima kasih atas bantuan Anda di sini. - person Saurin Dashadia; 13.08.2016
comment
salah, itu akan tetap ditampilkan sebagai www.domainku.com. Saya tidak mengerti bagaimana itu jawaban yang diterima. Satu-satunya solusi di sini adalah melalui Chetabahana - person Toolkit; 09.07.2018
comment
@Toolkit mau menguraikannya? Dari pemahaman saya, jawaban Chetabahana memecahkan masalah dengan meminta klien mengirimkan permintaan HTTP pertama mereka untuk www.mydomain.com ke server redirect.center, yang kemudian melakukan pengalihan HTTP 301 ke mydomain.com. Jadi, Anda harus bergantung pada infrastruktur orang lain untuk mencapai sesuatu yang dapat Anda konfigurasi sendiri dengan mudah. - person PoByBolek; 13.07.2018
comment
@PoByBolek tidak ada cara untuk mengalihkan menggunakan CNAME. Jika OP menginginkan Canonical URL/domain wanted is http://mydomain.cоm maka hanya ada satu cara untuk melakukan redirect. Jika tidak, Anda akan menampilkan situs web di http://mydomain.cоm dan http://www.mydomain.cоm - person Toolkit; 14.07.2018
comment
@Toolkit pada dasarnya itulah yang saya katakan, bukan? - person PoByBolek; 17.07.2018

Anda dapat mencoba redirect.center. Ini mengalihkan domain hanya menggunakan DNS.
Jadi ini akan memenuhi konfigurasi DNS Anda:

Domain           | A Record
------------------------------------
example.com      | 192.0.2.34
*  www.example.com 301 redirect to example.com

atur data DNS Anda ke:

CNAME | www | contoh.com.opts-https.redirect.center

Catatan:
Parameter .opts-https. dialihkan ke domain https
Jika Anda hanya menggunakan domain http maka gunakan .opts-uri.

person Chetabahana    schedule 21.02.2018
comment
ini adalah solusi yang saya cari sepanjang hidup saya :) terima kasih!! - person Toolkit; 09.07.2018

Dalam DNS, catatan nama kanonik menunjuk ke "satu entri DNS yang benar". Hasil akhirnya adalah DNSName1 memiliki alamat IP yang sama dengan DNSName2.

Pemahamannya menjadi rumit karena fakta bahwa CNAME bukanlah nama kanonik. Catatan CName menunjuk ke nama kanonik. (Nama kanoniknya adalah catatan A).

Tautan kanonik: Untuk mesin pencari, tautan kanonik di header html suatu halaman menentukan "satu halaman yang benar". Anda dapat membuka beberapa halaman tetapi Anda menggunakan tautan kanonik untuk memberi tahu mesin pencari bahwa halaman ini sama dengan halaman lainnya. Melakukan hal ini membuat mesin pencari senang karena Anda tidak mempermainkan sistem dengan berpura-pura menyediakan lebih banyak konten yang hanya berupa duplikasi. Itu hanya mengindeksnya sekali.

Pengalihan 301 (http): Untuk mesin pencari dikatakan bahwa halaman x sekarang digantikan oleh halaman y dan semua peringkat pencarian dapat ditransfer ke halaman y. Jika ini adalah standarisasi nama domain "kosmetik", ini juga memberitahu mesin pencari untuk hanya mengindeks satu halaman dan sekali lagi merupakan cara untuk menunjukkan bahwa Anda tidak mencoba menipu mesin pencari.

person PeterO    schedule 27.03.2017