Bagaimana cara membuat subdomain seperti http://user.mywebsite.com ? Apakah saya harus mengakses htaccess? Apakah sebenarnya hanya mungkin untuk membuatnya melalui kode php murni atau saya perlu menggunakan beberapa bahasa sisi skrip-server eksternal?
Bagi mereka yang menjawab: Baiklah, haruskah saya bertanya pada hosting saya jika mereka menyediakan semacam akses DNS ??
wildcard subdomains
ini dapat dicapai dalam.htaccess
. Lihat solusi saya.Jawaban:
Anda ingin membuat catatan A kustom .
Saya cukup yakin bahwa Anda dapat menggunakan wildcard saat menentukan A record yang memungkinkan Anda melakukan sesuatu seperti ini:
127.0.0.1 akan menjadi alamat IP server web Anda. Metode sebenarnya menambahkan catatan akan tergantung pada host Anda.
Melakukannya seperti http://mywebsite.com/user akan jauh lebih mudah diatur jika itu opsi.
Maka Anda bisa menambahkan file .htaccess yang terlihat seperti ini:
Di atas, nama pengguna terbatas pada karakter az
Aturan penulisan ulang untuk mengambil subdomain akan terlihat seperti ini:
sumber
Fitur yang Anda cari disebut Wildcard Subdomains . Ini memungkinkan Anda tidak harus mengatur DNS untuk setiap subdomain, dan sebagai gantinya menggunakan penulisan ulang apache untuk pengalihan. Anda dapat menemukan tutorial yang bagus di sini , tetapi ada ribuan tutorial di luar sana. Ini adalah kode yang diperlukan dari tutorial itu:
Namun karena diperlukan penggunaan VirtualHosts itu harus diatur dalam file httpd.conf server, bukan .htaccess lokal.
sumber
Saya melakukannya sedikit berbeda dari Mark. Saya melewati seluruh domain dan mengambil subdomain di php.
Ini mengabaikan gambar dan memetakan segalanya ke file index.php saya. Jadi jika saya pergi ke
saya kembali
Kemudian dalam kode index.php saya, saya hanya menghapus nama pengguna saya dari hostName. Ini memberi saya URL SEO yang cukup bagus.
sumber
Kami menyiapkan DNS wildcard seperti yang mereka jelaskan di atas. Jadi catatannya adalah * .namaanda.com
Kemudian semua subdomain sebenarnya pergi ke tempat yang sama, tetapi PHP memperlakukan setiap subdomain sebagai akun yang berbeda.
Kami menggunakan kode berikut:
Kode ini hanya mengatur
$account
variabel yang sama dengan subdomain. Anda kemudian dapat mengambil file dan informasi lainnya berdasarkan akun mereka.Ini mungkin tidak seefisien cara yang mereka sebutkan di atas, tetapi jika Anda tidak memiliki akses ke BIND dan / atau .htaccess terbatas metode ini akan berfungsi (selama host Anda akan mengatur wildcard untuk Anda).
Kami benar-benar menggunakan metode ini untuk terhubung ke basis data pelanggan untuk aplikasi e-commerce multi-perusahaan, tetapi mungkin juga cocok untuk Anda.
sumber
Jangan repot-repot dengan file .htaccess saat Anda dapat menggunakan hosting virtual massa Apache .
Dari dokumentasi:
Di satu sisi itu kebalikan dari pertanyaan Anda: setiap 'subdomain' adalah pengguna. Jika pengguna tidak ada, Anda mendapatkan 404.
Satu-satunya kelemahan adalah bahwa variabel lingkungan
DOCUMENT_ROOT
tidak diatur dengan benar ke subdirektori yang digunakan , tetapi document_root default di de htconfig.sumber
Solusi PHP sederhana untuk subdomain dan aplikasi web multi-domain
Langkah 1. Berikan catatan DNS A sebagai "*" untuk domain (atau domain) yang akan Anda layani "example.org"
Langkah 2. Periksa keunikan login saat pengguna mendaftar atau mengubah login. Juga, hindari titik-titik dalam login tersebut.
Langkah 3. Kemudian periksa kueri
Solusi ini dapat melayani berbagai domain
Jika Anda perlu torehan yang sama pada domain yang berbeda dilayani berbeda, Anda mungkin perlu menyimpan choise pengguna untuk domain saat mendaftar masuk.
sumber
Anda dapat [berpotensi] melakukan penulisan ulang URL, tetapi ya: Anda harus memiliki kendali atas pengaturan DNS Anda sehingga ketika seorang pengguna ditambahkan ia mendapat subdomain sendiri.
sumber
Selain perubahan konfigurasi pada server WWW Anda untuk menangani subdomain baru, kode Anda harus membuat perubahan pada catatan DNS Anda. Jadi, kecuali Anda menjalankan BIND Anda sendiri (atau serupa), Anda harus mencari cara untuk mengakses konfigurasi penyedia server nama Anda. Jika mereka tidak menawarkan semacam API, ini mungkin rumit.
Pembaruan: ya, saya akan memeriksa dengan registrar Anda jika mereka juga menyediakan layanan server nama (seperti yang sering terjadi). Saya belum pernah menjelajahi opsi ini sebelumnya, tetapi saya menduga sebagian besar pendaftar konsumen tidak. Saya mencari Google untuk GoDaddy APIs dan GoDaddy DNS APIs tetapi tidak dapat mengubah apa pun, jadi saya kira pilihan terbaik adalah memeriksa bantuan online dengan penyedia Anda, dan jika itu tidak menjawab pertanyaan, tunggu sebentar dari staf pendukung mereka.
sumber
Pertama, Anda perlu memastikan server Anda dikonfigurasi untuk mengizinkan subdomain wildcard. Saya mencapainya di JustHost dengan membuat subdomain bernama secara manual
*
. Saya juga menentukan folder yang disebutsubdomains
sebagai root dokumen untuk subdomain wildcard. Tambahkan ini ke.htaccess
file di folder subdomain Anda:Akhirnya, yang perlu Anda lakukan adalah membuat folder di folder subdomain Anda, lalu letakkan file subdomain di direktori itu.
sumber
Ini dapat dicapai
.htaccess
jika server Anda dikonfigurasi untuk memungkinkan subdomain wildcard. Saya mencapainya di JustHost dengan membuat subomain yang dinamai secara manual*
dan menetapkan folder yang disebut subdomain sebagai root dokumen untuk subdomain wildcard. Tambahkan ini ke.htaccess
file Anda :Terakhir, buat folder untuk subdomain Anda dan tempatkan file subdomain.
sumber
Saya hanya ingin menambahkan, bahwa jika Anda menggunakan CloudFlare (gratis), Anda dapat menggunakan API mereka untuk mengelola dns Anda dengan mudah.
sumber
(1) Root .htaccess
File ini adalah pengalihan http://www.yourwebsite.com ke http://yourwebsite.com untuk penggunaan beranda. Semua pengalihan subdomain ke yourwebsite_folder
(2) Di dalam Folder .htaccess
File ini menulis ulang url subdomain.
http://yourwebsite.com/index.php?siteName=9lessons ke http://9lessons.yourwebsite.com
Lebih banyak .htaccess tips: Tutorial dan Tips File Htaccess.
index.php
File ini berisi kode PHP sederhana, menggunakan ekspresi reguler yang memvalidasi nilai subdomain.
Tidak Ada Folder Subdomain
Jika Anda menggunakan direktori root (htdocs / public_html) sebagai direktori proyek, gunakan file .htaccess berikut ini.
sumber