Задать вопрос
PyroRed
@PyroRed
php разработчик

Как правильно перенести корневую директорию сайта в публичную поддиректорию?

Здравствуйте.

Во всех этих новомодных фреймворках и статьях "как делать правильно" (например, Create your own PHP Framework) рекомендуют сначала завернуть все запросы на фронт-контроллер, а потом перенести его в отдельную папку (например web или public). Все статические файлы (типа картинок или файлов стилей) тоже хранить там. По соображениям безопасности разрешить клиентам доступ только в эту публичную папку, а ко всему остальному запретить.

Вот только не понятно, как это делать правильно. У меня родился вариант создать в корне сайта .htaccess

RewriteEngine on
RewriteRule ^web/(.*)$ web/$1 [L]
RewriteRule ^(.*)$ web/$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ web/index.php


Только я что-то засомневался. Может лучше попросить хостера переписать VirtualHost и изменить корневую директорию сайта сразу в конфиге апача?
  • Вопрос задан
  • 470 просмотров
Подписаться 5 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@Kostik_1993
Web Developer
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>


А в папке public еще один нужно сделать
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽