Menggunakan DNS untuk mengarahkan ke URL lain dengan jalur [ditutup]


120

Saya mencoba mengalihkan domain ke domain lain melalui DNS.

Saya tahu bahwa menggunakan IN CNAME itu mungkin.

www.proof.com IN CNAME www.proof-two.com.

Yang saya butuhkan adalah pengalihan dengan jalan. Saat seseorang mengetik www.proof.com, mereka harus diarahkan kewww.proof-two.com/path/index.htm

Saya tahu ini bisa dilakukan dengan fasilitas Web Server, tapi saya butuh DNS redirection.

Apakah ini mungkin?


Jika Anda menggunakan domain Google, Anda dapat menggunakan "Penerusan domain" di menu sebelah kiri -> Situs web.
John_J

Jawaban:


136

Tidak, apa yang Anda minta tidak mungkin. DNS adalah sistem resolusi nama dan tidak tahu apa-apa tentang HTTP.


93

jika Anda menggunakan AWS, pengalihan seperti

mail.foo.com --> mail.google.com/a/foo.com

dapat di-setup sebagai berikut:

  1. di s3, buat keranjang kosong "mail.foo.com"
  2. di bawah Properti -> Hosting Situs Web Statis, setel "alihkan semua permintaan ke: mail.google.com/a/foo.com"
  3. di route53, buat rekam A "mail.foo.com"
  4. aktifkan "alias", dan setel target alias ke keranjang "mail.foo.com"

bukan solusi DNS murni, tetapi berfungsi;)

Tetapi perhatikan, pengalihan melewati semua parameter URL misalnya: ...? Param1 = value1 & param2 = value2


3
Ini adalah jawaban yang bagus dan sangat berguna bagi siapa saja yang menggunakan AWS. Terima kasih! Solusi yang manis
Ken

6
Penting untuk diperhatikan: Bucket harus diberi nama yang cocok dengan nama host yang dialihkan ke sana. Lihat serverfault.com/a/584714/105720
Jordan Feldstein

1
Ini berfungsi sebagai pengalihan ke direktori, tetapi tidak ke halaman tertentu. Jika Anda mengalihkan semua permintaan ke "www.example.com/foo/bar/baz.html" AWS akan "membantu" menambahkan "/" ke URL, mengubahnya menjadi "www.example.com/foo/bar/baz .html / "dan mengembalikan kesalahan 404.
Earl Ruby

34

Saya menyadari ini adalah utas lama tetapi FWIW, seandainya ada orang lain yang mencari cara untuk melakukan ini.

Meskipun dns tidak memahami bagian jalur url, dns akan memahami subdomain, jadi alih-alih:

www.proof.com DI CNAME www.proof-two.com/path/index.htm

Anda bisa menggunakan:

www.proof.com DI CNAME proof.proof-two.com

kemudian pergi ke mana pun Anda meng-host proof-two.com dan setel ke point proof.proof-two.com ke www.proof-two.com/path/index.htm.

~ selalu ada lebih dari satu cara untuk menguliti kucing


2
Ini terdengar seperti konstruksi yang tidak berguna, alih-alih membuat proof.proof-two.com arahkan ke www.proof-two.com/path/index.htm, Anda sebaiknya membuat www.roof.com menunjuk ke sana, tidak perlu catatan DNS tambahan.
Michiel

12
@Michiel Kedengarannya seperti konstruksi yang tidak berguna jika Anda memiliki akses mudah ke proof-two.comserver web. Terkadang perusahaan besar (dan birokrasi) membuat segalanya jauh lebih rumit daripada yang seharusnya.
Cregox

1
"lalu pergi ke mana pun Anda meng-host proof-two.com dan setel ke point proof.proof-two.com ke www.proof-two.com/path/index.htm" Bagaimana melakukan ini?
pengguna2060451

17

Saya memiliki proyek pribadi yang dapat membantu Anda dalam memecahkan masalah ini. Ini adalah solusi pengalihan sumber terbuka yang memungkinkan Anda untuk mengarahkan domain Anda hanya dengan mengubah pengaturan DNS Anda. Tautan proyek: https://redirect.center/ .

Untuk mengalihkan www.proof.com ke www.proof-two.com dengan menyimpan parameter URL, cukup setel entri DNS www Anda di proof.com:

www.proof.com DI CNAME www.proof-two.com.opts-uri.redirect.center.


Pertanyaannya adalah tentang mengarahkan ke url jalur lengkap, bukan hanya domain.
Tony Chiboucas

2
Itu masih bukan jalur lengkap
Tony Chiboucas

2
Sebuah jalur dapat didukung melalui layanan ".opts-slash." fungsi. Redirect jobs.my-domain.com untuk my-domain.com/jobs Konfigurasi Zona DNS Anda sebagai berikut: Host Record: pekerjaan Ketik: CNAME Untuk: www.my-domain.com.opts-slash.jobs.redirect.center
David Turner

1
Ini sangat keren dan sederhana jika registrar Anda tidak menyediakan pengalihan - hebat!
Luca Steeb

1
Ini sempurna! Saya berasumsi sesuatu seperti ini ada tetapi tidak dapat menemukannya (saya kira mereka perlu memperbaiki SEO mereka).
Matt Dodge

11

Sangat mudah dengan redirect.center

Jika Anda ingin membuat CNAME sebagai:

www.proof.com DI CNAME www.proof-two.com/path/index.htm

menggunakan redirect.center tampilan CNAME Anda sebagai mode kanonik sebagai:

www.proof.com DI CNAME www.proof-two.com.opts-slash.path.opts-slash.index.htm.redirect.center.

Sekarang jika Anda ingin mengalihkan ke situs web https Anda dapat menambahkan opsi ini:

www.proof.com DI CNAME www.proof-two.com.opts-slash.path.opts-slash.index.htm.opts-https.redirect.center.

Sekarang Anda dapat membuat CNAME dengan mode kanonik dengan garis miring di halaman tujuan Anda.


Saya telah mencoba ini, tetapi tidak berhasil. Yang dilakukannya hanyalah mengarahkan pengguna ke situs redirect.center.
Renan

Bisakah Anda menyalin register CNAME Anda? Bisakah Anda menyalin situs rediriged Anda juga?
Alvaro Aguilar

1
@Renan Pastikan domain sumber ada di DNS dan dapat dicari oleh server redirect.center; juga menavigasi ke target-domain.com.redirect.center di browser tidak akan berfungsi. Lihat penjelasannya: github.com/udleinati/redirect.center/issues/…
redfish

11

Sunting

Tampaknya penyedia saya (OVH) yang mengizinkan pengalihan semacam itu dalam infrastrukturnya.

Lihat: https://docs.ovh.com/gb/en/domains/redirect-domain-name/

Saya menyimpan jawaban di bawah ini demi pengarsipan, tetapi tidak memberikan informasi yang berarti.

Jawaban asli

Saya melakukannya dengan menggunakan data TXT.

Untuk mengalihkan foo.bar.comke foo2.bar.com/path, cukup tambahkan zona DNS foo IN TXT "1|foo2.bar.com/path"Anda bar.com.

Itu juga menyimpan jalur dan parameter url. Jadi jika Anda mencoba mengakses foo.bar.com/hello?foo=bar, Anda akan dialihkan ke foo2.bar.com/path/hello?foo=bar.


6
Bisakah Anda menyempurnakannya sedikit lagi? Apakah Anda memiliki referensi tentang cara menggunakan data TXT?
Yosia

Apakah ini juga akan mempertahankan parameter url?
andreas

1
Setelah diselidiki, tampaknya OVH melakukan itu untukku. Lihat: ovh.com/fr/g1339.redirection-nom-de-domaine (fr). Saya akan memperbarui jawaban saya.
Gabriel

10

Untuk menjawab pertanyaan awal, tidak, apa yang Anda inginkan tidak mungkin hanya menggunakan DNS (seperti yang dikatakan semua orang). Selain semua yang telah disebutkan, opsi lainnya adalah menggunakan layanan pengalihan URL. Jenis layanan ini dapat memungkinkan Anda untuk mengkonfigurasi berbagai jenis pengalihan URL tergantung pada kebutuhan Anda. Sebagai contoh:

  1. Meneruskan puncak domain ke www. subdomain atau sebaliknya
  2. Meneruskan kumpulan nama domain ke satu tujuan (berguna untuk meneruskan kesalahan ejaan domain, nama perusahaan lama, dll.)
  3. Meneruskan nama domain tertentu ke halaman yang tertaut dalam (seperti yang diinginkan OP)

Layanan yang melakukan ini adalah EasyRedir . Pengungkapan penuh: Saya mengembangkan EasyRedir. Tentu ada pilihan lain di luar sana, jadi saya mendorong Anda untuk melihat-lihat.


5

DNS tidak akan mengarahkan bagian jalur URL, jadi itu tidak mungkin dilakukan.

Menambahkan

www.proof.com IN CNAME www.proof-two.com

akan langsung mengakses www.proof.com ke www.proof-two.com, di mana Anda perlu menggunakan konfigurasi server web untuk mengarahkan pengguna ke halaman yang sesuai.


4

Solusi saya untuk masalah ini cukup sederhana dan mudah. Yang Anda butuhkan hanyalah server IIS yang berjalan di dalam domain.

Setup CNAME di DNS untuk mengarahkan ke server IIS, menggunakan nama host di IIS untuk menyelesaikan beberapa situs di satu server IIS. Saya menggunakan server IIS yang sama untuk memindahkan beberapa sub domain ke situs eksternal.

Kemudian di pengalihan penyiapan IIS penyiapan untuk situs itu untuk pergi ke situs / jalur di luar situs Anda, dalam kasus saya itu adalah katalog yang dihosting yang saya ingin masuk ke catalog.ourdomain.com. Dari sini semua tweaker dilakukan di IIS. Pastikan untuk mengaktifkan otentikasi anonim sehingga lalu lintas tidak akan diblokir.


3

Saya kira Anda memiliki skenario ini: Anda memiliki server web unik yang menghosting berbagai situs web, masing-masing harus disajikan oleh domain terpisah:

jadi, halaman1.html harus disajikan oleh www.customer1.com dan seterusnya.

  1. buat subdomain di dalam server dns example.com (server web Anda):

    customer1.example.com

  2. di pengaturan server virtual apache Anda, petakan subdomain ke direktori yang berisi situs web untuk pelanggan Anda # 1, seperti ini:

<VirtualHost *:80> SetEnv PAGE_ID "customer1" ServerName customer1.example.com ServerAlias www.customer1.com DocumentRoot /your/local/path/webserver/customer1 </VirtualHost> harap perhatikan nilai untuk "ServerAlias", penting untuk langkah berikutnya-

pada tahap ini, Anda harus dapat membuka situs web pelanggan1 Anda dengan menjelajahi:

customer1.example.com

  1. Di pengaturan DNS untuk customer1.com Anda harus membuat data CNAME:

    CNAME = www LOCATION = customer1.example.com

Sekarang, Anda dapat menggunakan: www.customer1.com.


3

Sebuah karya terkait menyimpulkan semua di bawah ini:

Masalah:

http://a.com/p1/p2.html harus masuk ke http://B.com/p1/p2.html
hari ini, tapi nanti jika dikonfigurasi secara manual / otomatis,
http://a.com/p1 sama /p2.html harus pergi ke http://C.com/p1/p2.html

Jawaban:

DNS - mengubah nama menjadi alamat IP

Meskipun dapat melakukan banyak pengalihan, selalu keluaran adalah alamat IP DNS tidak memahami jalur atau bagian protokol dari URL, hanya memahami bagian domain, yaitu, a.com hanya diubah menjadi alamat IP, jadi ketika Anda menekan http: //a.com/p1/p2.html dapat diubah menjadi http://152.132.121.11/p1/p2.html jika salah konfigurasi di DNS, maka Anda akan mendapatkan 152.132.121.11 (bukan http: //152.132. 121.11 / p1 / p2.html ), jadi Anda akan mendapatkan error 400-an (400, 403, dll.)

Redirection - ini http://a.com/p1/p2.html dapat diubah menjadi http://b.com/p1/p2.html

Semua metode seperti GET, POST dapat berfungsi, dengan jika ada header dan badan, tetapi ada server web yang terlibat, itu bisa menjadi titik kegagalan, jadi skalabilitas dan ketersediaan akan menjadi kuncinya

Jika Anda berada di AWS , Route 53 -> API Gateway dimungkinkan melalui domain kustom, secara internal menggunakan bagian depan Cloud

Hal ini dimungkinkan dengan Amazon Certification Manager, domain kustom AWS Gateway & Route53, perhatikan batasan us-east-1 pada ACM

Harapan yang membantu seseorang



0

Anda dapat menggunakan mod htaccess rewrite, tulis ulang ke subfolder jika pengguna meminta satu domain tertentu, bukan yang lain.


-1

Tentu saja dimungkinkan untuk redirect, dengan trik berikut:

Buat zona primer standar baru Beri nama sama dengan URL fiktif yang ingin Anda alihkan. Pastikan nama fiktif ini berbeda dari nama AD DNS mana pun Buat rekam A dengan entri berikut:

kosong ....................... A ......................... ... ip-addr-2

www ......................... A ....................... ..... ip-addr-2

Apa yang kita miliki di sini adalah pengalihan, pada dasarnya. URL yang valid akan diselesaikan berdasarkan zona DNS primer DNS yang ada. URL fiktif akan dialihkan ke ip-addr-2. Yang penting adalah nama entri ini kosong, jadi entri tersebut akan jatuh ke entri berikutnya dalam catatan dan dialihkan ke ip-addr-2


-4

Semua orang telah menyatakan ini, dan saya hanya ingin memberi Anda opsi lain ke layanan yang dapat membantu Anda. www.301redirect.it adalah layanan gratis yang dapat mengarahkan domain Anda (dengan wildcard) ke url tujuan manapun.

Saya ingin menambahkan pengungkapan juga: Saya adalah pengembang di balik layanan ini dan ada opsi lain di luar sana.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.