Хостинг. Установка Laravel (проблема с www/public)

ohremchuk
4 года
-1

Пробовал установить Laravel и столкнулся с проблемой, что на хостинге нет возможности указать путь к public. Всегда каталог входа - это www.
Решение проблеми:

# www/.htaccess

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule ((?s).*) public/$1 [L]
</IfModule>

# www/public/.htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^((?s).*)$ index.php/$1 [QSA,L]
</IfModule>

но вот возникла другая проблема, сайт доступний как site.com/** так и site.com/public/**

maxkp
4 года
-1

Та же самая проблема, и решить ее средствами Laravel или .htaccess не получится. Ну или пока адекватный способ не найден. Поиск в интернете не дает ответов. А покупать под каждый сайт на Ларавеле VPS - это нецелесообразно. Кстати, та же самая фигня при установке Yii2, но там ситуация несколько иначе, и костыльно можно добиться, чтобы папка с паблик ресурсами не дублировалась. Пожелание и мольбы к администрации, пересмотреть, по возможности политику назначения публичных директорий. Со временем это будет еще актуальнее, т.к. эти требования стандарты безопасности работы сайтов на фреймворках. А также нужно понимать, что многие пакеты пишутся разработчиками, учитывая, что сайт находится в папке public. Какие-либо изменения этой папки влекут за собой очевидные и не очевидные проблемы.

Если пересмотр политики директорий не возможен, тогда может быть техподдержка может дать подробную инструкцию с рабочим .htaccess для решения этой проблемы. Даже те примеры, что есть в интернете не всегда одинаково работают на всех серверах. Что вполне логично, ведь каждый сервер может иметь свои особенности в настройках. Та инструкция, что есть сейчас в разделе FAQ не совсем актуальна, а местами (точнее в одном месте) противоречит документации Laravel

yshliu_lose
4 года
2

сделайте ссимвольную ссылку с www на public

Тема закрыта.