У меня есть целый веб-сайт со следующей структурой каталогов:
/example.com
/html (public)
/css
/js
index.php
/lib
session.php
other_lib_files.php
/views
index.php
/models
/controllers
Как показано на рисунке, HTML-код является общедоступным, а все, что находится выше, является конфиденциальным.
Теперь моему сайту необходимо обновить серверы, и новый сервер (Linux с Plesk) имеет следующую структуру (урезанную до проблемных частей ниже):
/myplesksite.com
/httpdocs
/css
/js
index.php
/private
/lib
/models
/views
Я ДУМАЮ, что мне следует поместить мои /lib, /views, /models и т. д. в каталог, расположенный прямо над /httpdocs, так же, как это было на моем предыдущем сервере.
Это возможно? Или мне нужно сделать это приватным?
Мне бы очень хотелось не корректировать внутренние пути на сайте, если в этом нет необходимости...
решение1
Поскольку Plesk использует php open_basedir для предотвращения доступа к другим файлам за пределами папки httpdocs и /temp из php
php_admin_value open_basedir "/var/www/vhosts/domain.com/httpdocs:/tmp"
Если у вас есть root-доступ, то легко изменить файл conf. Если у вас нет root-доступа, вы можете спросить своего хостинг-провайдера, могут ли они это сделать.
решение2
Предложенная вами структура должна быть хорошей.