Мне кажется, что идея laravel заключается в том, что каталог public / — это то, на что указывает ваш DocumentRoot, и что каталоги app /, vendor /, bootstrap / и build / находятся вне корневого веб-каталога. Но что произойдет, если вы хотите, чтобы проект laravel находился в подкаталоге.
то есть. http://www.domain.tld/
может быть статическим HTML, http://www.domain.tld/phpbb/
это phpBB, и вы хотели, чтобы ваше приложение Laravel жить на http://www.domain.tld/app/
,
Если вы просто положите всю папку Laravel в http://www.domain.tld/app/
и перенаправить через .htaccess все запросы на http://www.domain.tld/app/public/
? Это кажется не элегантным.
Может быть, вы могли бы положить в Laravel http://www.domain.tld/
и переименуйте каталог / public / в app /, но это выглядит еще более не элегантно.
Есть идеи?
Вопрос в том, зачем вам это нужно в подкаталоге. До сих пор мне никогда не нужно помещать пользовательский проект в подкаталог. Я использую домен или поддомен, если это необходимо.
Вы можете попробовать с:
deny from all
(чтобы заблокировать доступ из вашего корневого домена)bootstrap/paths.php
Я не проверял это, и я, вероятно, даже не попытался бы сделать это. Многие фреймворки скорее созданы для использования их на отдельных доменах или поддоменах, а не в каталогах, поэтому я бы порекомендовал вам переосмыслить это.
Используйте виртуальные хосты в вашем веб-движке (например, apache, nginx, IIS и т. Д.) И укажите корневой каталог документа для своего псевдонима в приложении laravel.