Mencegah Addon Domain dan Subdomains Diakses Sebagai Folder Dari Primary Domain Pada CPanel

Bagi orang awam, cara paling mudah dan paling cepat mempunyai website adalah dengan menyewa web hosting yang sudah ada CPanel-nya. Apa lagi sekarang tarif yang ditawarkan makin terjangkau. Beberapa perusahaan web hosting memberikan tarif promo sekitar Rp 100.000-Rp 150.000 pertahun untuk satu akun CPanel yang bisa diisi beberapa addon domains.

Ketika kita mendaftar, kita diminta menentukan primary domain. Misalkan, saya memilih Mawan.net.
File-file web Mawan.net (misalkan index.php dan foto.jpg) harus diletakkan di dalam folder public_html.

Kemudian saya ingin membuat subdomain misalkan belajar.mawan.net dan menambahkan addons domain lain misalkan Mawan.org dan Mawan.id. Maka bila kita memakai CPanel, kemungkinan besar di dalam folder public_html akan ada folder-folder bernama belajar.mawan.net, mawan,org, dan mawan.id

Memang sih, ada beberapa perusahaan web hosting yang mengizinkan pengguna CPanel meletakkan root folder addon domains di luar public_html, misalkan HostUs dan InterServer. tapi kebanyakan mengharuskan root folder addon domains dan subdomains diletakkan di dalam public_html dari primary domain, karena defaultnya begitu.

Bila addon domains dan subdomains diletakkan di dalam public_html dari primary domain, maka orang-orang bisa mengaksesnya dengan cara mengetik seperti ini:
http://mawan.net/belajar.mawan.net
http://mawan.net/mawan.org
http://mawan.net/mawan.id

Walau pun tidak berbahaya, tapi cukup mengganggu dan kurang elok dipandang.

Saya punya dua solusi yaitu:

SOLUSI KE-1:

Di dalam public_html, buat file .htaccess dengan isi seperti ini:


RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?mawan.net$ [NC]
RewriteCond %{REQUEST_URI} ^/belajar.mawan.net/(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^/mawan.org/(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^/mawan.id/(.*)$
RewriteRule ^(.*)$ - [L,R=404]

Dengan cara di atas, bila ada yang mengetik http://mawan.net/mawan.org maka web browser memunculkan pesan error 404.

SOLUSI KE-2:

Bila addon domains dan subdomains sedikit, cara pada solusi ke-1 cukup efektif. Tapi bila kita mendapat fitur unlimited addon domains dan unlimited subdomains, maka kita akan lelah mengetik rule pada .htaccess.

Cara lain adalah:
Buat folder misalkan bernama addon, lalu tentukan root folder tiap addons domain dan subdomains di dalam folder tersebut, sehingga isi .htaccess cukup seperti ini:


RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?mawan.net$ [NC]
RewriteCond %{REQUEST_URI} ^/addon/(.*)$
RewriteRule ^(.*)$ - [L,R=404]

Dengan cara di atas, orang-orang tidak bisa mengakses dengan alamat web seperti ini:
http://mawan.net/addon/belajar.mawan.net
http://mawan.net/addon/mawan.org
http://mawan.net/addon/mawan.id

CATATAN

Sebenarnya, addon domain pada cPanel bisa ditempatkan di luar public_html. Tapi setting ini harus dilakukan dari level WHM alias si pemilik web hosting yang bisa melakukan.

Caranya: WHM > Tweak settings > Restrict document roots to public_html = off.

Beberapa web hosting mengizinkan pengguna untuk menaruh addon domain di luar public_html, misalkan HostUs dan InterServer. Tapi tetap saja sub domain itu harus dibuat. Entah apa maksudnya. Menyebalkan sekali.

Web Hosting