2.4.1.1.2. Корневой каталог сайта
Стандартные пути
В корневом каталоге хостинг-аккаунта размещаются каталоги с названиями основных доменов, внутри каждого из которых находятся каталог основного домена и каталоги его поддоменов. На диаграмме: ~ — корневой каталог хостинг-аккаунта, example.com — каталог с названием основного домена, www — каталог с файлами основного домена, sub — каталог с файлами поддомена sub.
Каталогом основного домена всегда является www (путь к нему выглядит как ~/example.com/www). Хоть каталог и имеет такое название, работа основного домена с www или без www с ним никак не связана и настраивается другими способами: через панель управления (см. Настройка редиректа на адрес с www или без www), .htaccess или админ-панель используемой на сайте CMS.
Названия каталогов поддоменов соответствуют названиям поддоменов без основного домена (например, для поддомена sub.example.com каталог будет называться sub, а путь к нему будет выглядеть как ~/example.com/sub).
Изменение
Важные моменты:
- Указываемый каталог должен быть в пределах стандартного корневого каталога сайта. Допускается указание вложенных каталогов.
- Для направления нескольких доменов на один сайт используйте псевдонимы.
- Откройте раздел «Настройки сайта».
- В поле «Корневой каталог» укажите название подкаталога и сохраните изменения:

- Подождите несколько минут, пока изменения вступят в силу.
Альтернативные способы
Внимание!
Использование альтернативных способов может приводить к некорректной работе сайта. По возможности старайтесь изменять каталог через панель управления.index.php
Если нужно разместить сайт не в корневом каталоге www, а, например, в каталоге www/dir, создайте файл index.php с таким содержимым:
<?php
require_once("dir/index.php");
Вместо dir/index.php укажите путь к индексному файлу вашего сайта.
Созданный файл разместите в корневом каталоге сайта и установите права для него равными 750.
Также обязательно установите значение параметра open_basedir на уровень выше для доступа к другим каталогам сайта.
.htaccess
В некоторых фреймворках основной каталог сайта с индексным файлом обязательно должен размещаться не в корневом каталоге сайта, а в подкаталоге public или web (или другом).
Для решения такой задачи можно в корневом каталоге сайта создать файл .htaccess с таким содержимым:
DirectoryIndex /public/index.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+) $1 [L]
RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f
RewriteRule ^(.+) /public/$1 [L]
Другой вариант:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/web/.*$
RewriteRule ^(.*)$ /web/$1 [QSA,L]
Ещё один вариант:
RewriteEngine On
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]
Возможные проблемы
Ошибки на сайте, которые могут быть связаны с корневым каталогом:
- 403 — проверьте в корневом каталоге сайта наличие индексного файла и в целом правильность размещения файлов сайта.
- 404 — убедитесь, что путь из поля «Корневой каталог» реально существует.