Смещение корня сайта
Материал из 1GbWiki.
[править] UNIX - Apache
На UNIX хостинге домашний каталог пользователя содержит каталог http, где и располагается сайт. На других площадках он часто называется public_html. Таким образом, вы можете размещать файлы и каталоги в домашний каталог пользователя, при этом они будут недоступны Веб-серверу, что исключает их скачивание пользователями интернета.
На UNIX машине данная опция обычно не требуется, хотя с её помощью можно сместить корень сайта еще на одну папку глубже относительно корня домашнего каталога.
Пример записи для UNIX сервера:
public_html
Корнем сайта станет папка http/public_html
[править] Windows - Apache
На Windows машине домашний каталог пользователя является непосредственно корнем Веб-сайта. Папка /http, видимая по FTP, не является папкой в домашнем каталоге – это просто ссылка FTP сервера на фактический корень вашего домашнего каталога. Создавать папки на уровне этой виртуальной «папки» нельзя. Это не всегда удобно, так как каталог, где вы могли бы разместить файлы, недоступные для скачивания, отсутствуют.
Это неудобство можно обойти двумя способами:
- Разместить каталоги в обычное пространство Веб-сервера, но при этом разместить там также файл .htaccess с директивой Deny from all. Это запретит Веб-серверу Apache обслуживать данный каталог.
- С помощью данной опции сместить корень сайта на одну папку вглубь. Например, указав public_html, вы получите следующую структуру каталогов:
- /http – корень вашего домашнего каталога
- /http/public_html – корень вашего сайта.
- /html/papka123 – папки такого вида будут недоступны Веб-серверу.
Изменение вступает в силу в течение 24 часов (точнее – ночью), можно попросить поддержку ускорить внесение изменений.
[править] Windows - IIS / .NET
К сожалению, для этой архитектуры возможность пока не реализована. Размещайте личные папки в обычное пространство папок веб-сервера, после чего запрещайте к ним доступ с помощью «полный список функций», «управление метабазой IIS». Для запрета доступа нужно создать узел, совпадающий с именем папки, и снять с него свойство AccessRead.