anonim89
@anonim89
frontend, backend

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

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


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


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

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

Войти через центр авторизации
Похожие вопросы
Finnplay Technologies Oy Смоленск
от 60 000 до 140 000 ₽
от 150 000 до 200 000 ₽
Информзащита Москва
от 180 000 до 220 000 ₽