В настоящее время у меня есть сервер WAMP с двумя подпапками, одна из которых содержит проект Laravel с общей папкой.
Я не хочу создавать файл .htaccess для перенаправления с /laravel на /laravel/public.
Вместо этого я хочу изменить перенаправление в файле vhost из Apache. Я знаю, как перенаправить корневую папку WAMP (www) в общую папку Laravel, но я хочу:
Всякий раз, когда я захожу в корень WAMP, я все равно вижу список с папками, как обычно.
Когда я перехожу в каталог /laravel, он автоматически перенаправляется на /laravel/public.
Вот как у меня он сейчас есть в файле httpd-vhosts.conf.
Но это, похоже, не работает для меня, и когда я меняю место этих двух, я автоматически отправляюсь в общую папку в без возможности просмотра папки www.
Я уже пытался погуглить, но в итоге выяснил, как перенаправить корень www в подпапку.
Итак, мой вопрос: как перенаправить корень подпапки в общедоступную папку?

Вы назвали оба своих виртуальных хоста localhost, что не относится к виртуальному хосту. Измените VH проектов laravel следующим образом
<VirualHost *:80>
ServerName laravel.test
ServerAlias www.laravel.test
. . . Leave other code as you had it
</VirtualHost>
Теперь перейдите в свой HOST-файл и добавьте доменное имя laravel.test вот так
редактировать C:\Windows\System32\drivers\etc\hosts
Это должно выглядеть так
127.0.0.1 localhost
127.0.0.1 laravel.test
::1 localhost
::1 laravel.test
Затем перезапустите dnscache или перезагрузите.
>net stop dnscache
>net start dnscache
NOTE: You shoudl never make
localhostavailable to the internet so change this line back to what it was originally in thelocalhostVH definition
Require local
Also unless you actually want to make the laravel project availaibe on the internet do the same for that VH or if you want to make it available on your internal network set the Require like this
Require ip 192.168.1
Предполагая, что ваша подсеть начинается с 192.168.1, ваша может быть другой!
localhost VH должен быть Require local. Не рекомендуется обращаться к нему из любого другого места, поскольку все, что он делает, имеет тенденцию ссылаться на localhost и, следовательно, не будет работать при запуске с другого ПК, поскольку localhost всегда означает этот ПК, и ссылки будут пытаться искать на другом ПК для код, который, конечно, не существует на клиентском ПК
Хорошо. Теперь я могу войти в папку laravel, перейдя на laravel.test в качестве веб-адреса. Но я не знаю, как я могу увидеть этот проект с других устройств, то есть с моего телефона. У меня нет необходимости получать доступ к отдельным файлам. Но я хочу использовать проект как API. Есть ли какие-либо другие настройки, которые мне нужно изменить для этого, потому что, когда я перехожу на свой URL-адрес "API", я не получаю разрешения, потому что он перенаправляет на localhost (который использует Require local. Извините, если это глупый вопрос @RiggsFolly
Здесь мое решение этой проблемы взгляните на это и посмотрите, поможет ли это
Работает как шарм! Большое спасибо за помощь @RiggsFolly
У меня недостаточно репутации для этого: /
Я разместил
Require ip 192.168.0в VH localhost, и теперь я не могу войти в localhost на своем ПК. Однако я могу ввести его с помощью устройства в той же сети. Мой локальный IP-адрес моего ПК -192.168.0.105. Вход в laravel.test работает отлично! Спасибо за это @RiggsFolly