For those of you developing Laravel application, sure you have face this issue if you're hosted in DirectAdmin hosting.

Besides, if you want to setup auto deployment like Rocketeer, also you will need to change the document root.

Let's take an example in my scenario, Laravel + Rocketeer auto deployment

1. Login to your DirectAdmin, and go to "Custom HTTPD Configurations"

DirectAdmin home page

2. Choose the site that you want to edit

DirectAdmin select domain

3. Update the vhost config

DirectAdmin change virtual host

|*if !SUB|
ServerAlias *.|DOMAIN|

As I mention just now, using Rocketeer in this case, thus it will point to current directory (softlink), and public is because of laravel project.

4. Restart web server

Login with root user, then restart

$ service httpd restart

Now it should works.