Laravel требует, чтобы корнем домена (настроенным в соответствующем файле Apache vhost conf) была его «публичная» папка.Вот где находится точка входа index.php.
Отредактируйте файл конфигурации apache vhosts, как показано ниже
<VirtualHost *:80>
ServerName example.com
DocumentRoot "/home/user/public_html/public"
<Directory "/home/user/public_html/public">
Options Indexes FollowSymLinks
AllowOverride all
Allow from all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName staging.example.com
DocumentRoot "/home/user/public_html/staging/public"
<Directory "/home/user/public_html/staging/public">
Options Indexes FollowSymLinks
AllowOverride all
Allow from all
Require all granted
</Directory>
</VirtualHost>
Для example.com вы устанавливаете приложение laravel в папку / home / user / public_html.
В процессе установки laravel будет создана папка public.
Для staging.example.com вы устанавливаете приложение laravel в / home / user /public_html / промежуточная папка.
Не забудьте перезапустить веб-сервер, чтобы он выбрал новую конфигурацию.
Если у вас нет возможности изменить конфигурацию vhost, упомянутую выше, вы можете использовать файл .htaccess.в вашей папке public_html (обратите внимание на начальную точку остановки, которая делает его скрытым файлом).Следующее зависит от того, разрешает ли ваш хостинг-провайдер переопределения .htaccess.
Добавьте в файл .htaccess следующее:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Если хост правильно настроил домен, чтобы он указывал на/ home / username / public_html при вводе http://example.com, тогда он должен автоматически вызвать public / index.php.
Вам нужно будет сделать то же самое в папке public_html / staging.