Общие вопросы по хостингу, используемой платформе, программном комплексе, системе безопасности и другие
Вопросы по оплате услуг, способам проведения платежей, срокам оплаты, политике возврата средств и другие
Вопросы по регистрации и переносу доменов, технические аспекты, порядок регистрации и другие
Настройки виртуального сервера, файлов .htaccess, страницы ошибок, файлы по умолчанию и прочее
Объясните, что такое файлы .htaccess, .htpasswd?
Как защитить директорию паролем?
Как настроить SSI?
Как установить свои страницы ошибок (404,500 и т.п.)?
Какое имя индексного файла на сервере и как его изменить?
Какие права доступа (chmod) должны иметь файлы на сервере?
Как сделать так, чтобы работал URL типа http://mydomain.ru/test.php/a/b/c?
Эти файлы позволяют производить конфигурирование клиентом каждого отдельного виртуального сервера. Файл .htaccess позволяет задать множество полезных настроек, используемых при выдаче файлов клиенту. Файл .htpasswd хранит имена и пароли пользователей сервера. Его данные используются для закрытого доступа к директориям. Файл .htaccess можно редактировать вручную - изменяя, создавая и удаляя любые разрешенные настройки. Какие именно параметры можно задать через этот файл Вы можете узнать из других вопросов по конфигурированию сервера.
Возможность защиты директории паролем позволяет четко определенному кругу лиц иметь доступ к ней. Такая возможность иногда очень удобна, например, если в каталоге расположены административные файлы. Защитить каталог паролем можно, используя файлы .htaccess и .htpasswd веб-сервера.
Допустим, Вы хотите поставить пароль на каталог admin, находящийся в каталоге www. Последовательность действий здесь следующая:
Создать в этом каталоге файл .htaccess следующего содержания:
AuthName "Authentication required"
AuthType Basic
Require user admin
AuthUserFile /home/us****/domain.tld/www/.htpasswd
Значения переменных таковы:
admin - имя пользователя, который может пользоваться каталогом (их может быть несколько через пробел). Имя чувствительно к регистру!
/home/us****/domain.tld/www/.htpasswd - имя и местоположение файла с паролями. Чтобы создать этот файл с пользователем admin, нужно зайти на сервер через ssh и набрать такую команду:
[us****@domain.tld] htpasswd -c /domain.tld/www/.htpasswd admin
Чтобы добавить пользователя webmaster и его пароль в существующий файл, нужно набрать:
[us****@domain.tld] htpasswd /domain.tld/www/.htpasswd webmaster
Для того, чтобы настраивать SSI по своему усмотрению, нужно отредактировать файл .htaccess. В общем случае, в него необходимо добавить такую строчку:
AddType text/x-server-parsed-html .html .htm
В этом файлен необходимо указать расширения файлов, в которых будет работать SSI.
Страница ошибки открывается при возникновении ошибки сервера. Например, при запросе несуществующего файла (404 File not found) или внутренней ошибке сервера (500 Internal server error). Вы можете установить вместо стандартных страниц ошибок свои собственные. Это очень просто реализуется с помощью служебного файла .htaccess. Требуются следующие действия:
1. Создайте новый (или отредактируйте существующий) файл с именем ".htaccess"
2. Запишите в него следующие строки:
ErrorDocument 404 http://www.you_domain.ru/err404.html
ErrorDocument 500 http://www.you_domain.ru/err500.html
Цифра, указанная после директивы ErrorDocument, означает номер ошибки, адрес - это абсолютный адрес страницы на Вашем сервере, которая открывается при возникновении этой ошибки. Вы, естественно, можете назвать ее как угодно.
3. Скопируйте файл на сервер в директорию, на которую хотите установить страницы.
Обращаем внимание, что файл .htaccess может быть разным для разных директорий. К примеру, если Вы скопируете его в папку "images", то он и будет работать только для нее и всех вложенных папок (если они, конечно, не содержат своего .htaccess).
Индексный файл отображается, когда путь указывается без уточнения имени файла, например http://www.your_domain.ru/dir/. По умолчанию имена индексных файлов следующие:
index.htm index.html index.shtml index.php index.phtml default.php default.xhtml default.phtml default.htm default.html и другие
Файлы просматриваются сервером в порядке приоритета, то есть если нет файла index.htm, ищется файл index.html и т.д. Чтобы изменить это значение для всего сервера либо для отдельного каталога, нужно воспользоваться файлом .htaccess. К примеру, если Вы хотите установить в качестве индексных страниц main.html,index.php,index.shtml, создайте в файле .htaccess такую строчку:
DirectoryIndex main.html index.php index.shtml
При этом здесь действует то же правило, что и при установке страниц ошибок - .htaccess может быть различным для отдельных каталогов.
Права доступа (CHMOD) к файлам и скриптам (кр. CGI/Perl) должны иметь атрибуты 660. Также Вы можете установить права 770, если хотите, чтобы Ваши скрипты имели доступ к изменению файлов.
Для того, чтобы заставить веб-сервер обрабатывать подобные URL-ы, Вам необходимо добавить в .htaccess следующий код:
AcceptPathInfo On
|