anonim89
@anonim89
frontend, backend

Как настроить htacces в laravel чтобы из адреса убрать public?

Сайт уже на хостинге лежит в папке public, т.к. он там и должен лежать. И если зайти на сайт, то к адресу ещё прибавляется public (cosa-nostra.h1n.ru/public ). Что надо написать в .htaccess, чтобы было без public? Сейчас у меня там это написано:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

Просто убрать public не помогает. Техподдержка хостинга отвечает: Вы можете сделать необходимые настройки в файле .htaccess, который находится по пути /www/cosa-nostra.h1n.ru/public/, но поскольку это бесплатный тарифный план они не говорят какие настройки.
  • Вопрос задан
  • 272 просмотра
Решения вопроса 2
shambler81
@shambler81 Куратор тега htaccess
если у вас сайт открывается только по ссылке /public
то все что вам нужно это положить его на уровень выше.
Если же нет то document root можно менять только в настройке веб сервера.
все остальные варианты это костыли.
Ответ написан
Комментировать
gedev
@gedev
сисадмин-энтузиаст
Поможет символическая ссылка на папку public.

Допустим, если document root это папка /home/user/public_html, а публичная часть сайта находится в /home/user/public_html/public, то необходимо переместить все файлы сайта выше (в /home/user/), чтобы они были вне папки public_html. Затем удалть public_html и создать символическую ссылку:

ln -s /home/user/public /home/user/public_html

Таким образом, веб-сервер будет открывать символическую ссылку public_html и показывать содержимое public. Возиться с .htaccess такое себе, в некоторых случаях могут сломаться роуты на сайте и придётся анализировать и исправлять .htaccess.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы