Kaan Laravel'de document root dediğimiz, domaini yazınca web sunucusunun servis edeceği klasör public klasörüdür. cPanel kullanan sistemlerde bu klasör adı public_html'dir. Siz test şeklinde bir alt domain açınca document root olarak public klasörünü göstermeniz gerekiyordu.
Şöyle yapın: test şeklinde bir alt alan adı oluşturunca size document root olarak /public_html/test vermiş. Siz onu /test/public yapın. Böylece FTP ile bağlanınca kök dizinde yani /home/{kullanici_adiniz} içerisinde public_html ile aynı seviyede bir test klasörü göreceksiniz. İçerisinde de büyük ihtimalle bir public klasörü olacak. O public klasörünü silin ve tüm Laravel dosyalarını direkt test klasörü içerisine atın. Böyle yapınca public içerisindeki index.php'nin yolu /home/{kullanici_adiniz}/test/public/index.php olmuş olacak.
Bu şekilde yaptırmamın sebebi, public klasörünü ile aynı seviyede olan app, vendor, storage vs gibi klasörlerin dış dünya tarafından erişilemez olması gerekiyor. Eğer siz sistemi /home/{kullanici_adiniz}/public_html/test/public şeklinde yaparsanız, atıyorum örneğin .env dosyasını da sunucuya gönderdiyseniz bu http://kaanonur.com/test/.env şeklinde erişilebilir olacağı anlamına geliyor ki bu da güvenlik açığı demek. Mesela şu site bu hatayı yapmış her şeyi ortada http://appraisersala.com/.env (Normalde .env dosyası sunucuya gönderilmez)
Benim dediğim şekilde yaparsanız sadece http://test.kaanonur.com şeklinde ulaşılabilir olacak ve document root da public olduğu için aynı seviyedeki dosya ve klasörlere ulaşılamayacak.