- Общие вопросы
- Платные работы
- Вопросы новичка
- Хостинг и сервера
- Домены
- Финансовые вопросы
- Юридические вопросы
- Партнерская программа
- Доп. платные услуги
- Технические вопросы
- Вопросы по веб-серверу
- Вопросы по PHP
- Вопросы по Perl
- Вопросы по MySQL
- Вопросы по FTP
- Вопросы по SSH
- Вопросы о почте
- Вопросы по SSI
- Установленное ПО на серверах
- Вопросы по работе с поисковыми роботами
- Вопросы по выделенным серверам (colocation/dedicated)
- Вопросы по VPS
Вопросы по веб-серверу
- Как изменить кодировку для отображения сайта?
У нас установлена по умолчанию кодировка выдачи контента utf-8, изменить этот параметр можно через директиву AddDefaultCharset в .htaccess файле. Например строка из .htaccess: AddDefaultCharset windows-1251
- Как запаролить папку с помощью htaccess?
Еще можно использовать .htaccess для установки пароля на доступ к определенным страницам или разделам Вашего сайта. Делается это путем создания в нужном подкаталоге файла .htaccess, в который пишется следующее:
AuthType Basic
AuthName "this is a test of protected realm"
AuthUserFile /storage/home/srv*****/passwords
require valid-user
Кроме того, нужно создать файл с паролями, путь к которому указывается в качестве параметра к директиве AuthUserFile. Пароли в этом файле должны быть шифрованными, чего можно достигнуть с помощью программы htpasswd, входящей в поставку Apache, либо на специализированых ресурсах (htpasswd generator). После того как вы создали файл пароля и добавили директиву, то попробуйте обратиться к тому каталогу (странице), в котором мы размещали .htaccess - браузер спросит у Вас пароль, чего мы и добивались. Пока не будет введен правильный логин и пароль, посетитель не увидит соответствующей страницы.
В качестве параметра к директиве require мы указали valid-user. Это означает, что любой пользователь, который есть в используемом файле с паролями, может иметь доступ к защищенному ресурсу. Однако, согласитесь, удобно иметь все пароли в одном файле, а права на конкретные ресурсы давать только определенным пользователям. Это тоже реализуемо. Например, мы хотим дать доступ только пользователю test2. Делаем так :
require user test2
Еще можно объединить пользователей в группы и давать доступ не конкретным логинам, а группам. Это можно сделать с помощью директивы AuthGroupFile :
AuthGroupFile /path/to/file/with/groups
В файле /path/to/file/with/groups создаем группы примерно так :
group1: test1 test5
group2: test2 test4
group3: test1 test3
Соответственно, директиву require будем использовать так :
require group group3
Механизмы ограничения доступа, которые реализованы в Apache, позволяют очень гибко управлять правами для пользователей и групп, что является очень важной возможностью. Если углубиться в изучение предмета, Вы сможете узнать и то, что логины и пароли, используемые для авторизации, можно хранить не только в файлах, но и в простейших базах данных формата BerkeleyDB - почитайте документацию по директиве AuthDBGroupFile. Еще для хранения данных авторизации можно использовать практически любую СУБД (MySQL или PostgreSQL, например), но это уже выходит за рамки данного пункта.
Order, Allow, Deny - запрет доступа для определенных посетителей
Признайтесь, ведь наверняка хоть один раз у Вас было желание запретить кому-то заходить на Ваш веб-сервер? И это тоже можно сделать с помощью .htaccess :
Order Allow,Deny
Deny from 195.1.1.1
Allow from All
Мы запретили пользователю с IP адресом 195.1.1.1 смотреть Ваш сайт. Если вместо 195.1.1.1 написать 195.1.1, то доступ будет запрещен для всей сети класса C 195.1.1.0/24. Подробнее читайте в документации по команде Deny.
- Почему index.htm не отображается, и как сделать .htm индексом сайта?
По-умолчанию, главная страница сайта имеет расширение php или html. Чтобы изменить эти настройки, в каталоге htdocs создайте файл .htaccess В нём пропишите следующую строку: DirectoryIndex index.htm index.html index.php Регистр букв в названии файлов имеет значение. Проверьте соответствие названия Вашего файла и записи в .htaccess Вместо index.html и подобных можете вписать start.htm или default.htm, или любое другое нужное имя.
- Как подменить страницы ошибок Apache
Например, часто встречающиеся ошибки 404 и 403 в файле .htaccess нужно добавить строчки: ErrorDocument 403 /страница ошибки 403.htm ErrorDocument 404 /страница ошибки 404.html задается локальный путь до страницы ошибки, начиная от htdocs "/".
- Как включить логирование?
Зайдите в раздел "Домены" нажимаете в столбце "Быстрый доступ" на "Сайты" или нажмите на доменное имя и на открывшейся страничке выберите "Сайты". Затем нажмите на имя домена или справа от неого в столбце "Действия" нажать на карандаш. На открывшейся страничке проставить галочки и указать имена лог файлов. Также при необходимости тут можно настроить автоматическое вращение лог файла каждые 7 дней, что позволит сократить занимаемое место на сервере.
- Какая версия Apache у Вас установлена?
Мы предоставляем Apache версии 2.2.x
- Из-за чего возникают ошибки при обращении к сайту?
Существуют 4 типа кодов ошибок сервера: 2xx - операция выполнена успешно 3xx - запрос перенаправлен 4xx - ошибка обработки запроса 5xx - критическая ошибка сервера Возможные причины возникновения ошибок: -------- 4xx: -------- 1) Не настроен виртуальный сервер. Подробнее смотрите соотв. раздел faq. 2) Неправильно назван индексный файл. Обратите внимание, что по умолчанию индексными файлами являются только файлы с именами index.html и index.php. 3) Возможно индексный файл находится не в директории документов веб-сервера (по умолчанию - htdocs). 4) Выставлены неправильные права на запрашиваемый файл. Права на файл должны быть как минимум 440. -------- 5xx: -------- 1) Ошибка Вашего cgi-приложения. Проверьте права на скрипт(они должны быть не меньше 755). Кроме того каждый скрипт должен выдавать правильные HTTP заголовки, например: "Content-type: text/html\ncharset=windows-1251\n\n" (обратите внимание на двойной перенос строки в конце скрита). Проще всего будет проверить корректность работы скрипта c помощью ssh-клиента в консоли UNIX. 2) Неправильная или неразрешённая директива в .htaccess. Обнаружить причину ошибки Вам поможет error-лог сервера, который расположен в поддиректории logs Вашей домашней директории. В случае ошибок в нём содержатся подробные описания причины ошибок.
- Как включить поддержку SSI (ServerSideIncludes)?
Для этого Вам необходимо добавить следующие директивы в файл конфигурации .htaccess:
Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
После этого все файлы с расширениями .shtml будут обрабатываться SSI-препроцессором. Если вы хотите, чтобы также другие файлы обрабатывались SSI, то добавьте другие расширения, например:
AddOutputFilter INCLUDES .shtml .html .php
- Как преобразовать длинные html-адреса в псевдо-краткие? Использование mod_rewrite
"Руководство по URL преобразованиям": http://www.egoroff.spb.ru/portfolio/apache/rewriteguide.html
- Как изменить e-mail в ServerAdmin?
На виртуальном хостинге возможна работа этой директивы с вашим емэйлом только для 500той ошибки(когда показывается ServerAdmin e-mail).
Чтобы изменить зайдите в панель управления, раздел "Домены" нажимаете на доменное имя на открывшейся страничке выберите "Сайты" и отредактируйте поле E-mail. - Можно ли раздавать статичный контент без помощи анонимного FTP
Да такая возможность предусмотрена. С помощью зеркал.
- Как сделать так, чтобы сервер выдавал листинг директории?
Создайте в нужной директории файл .htaccess со строчкой Options +Indexes
- Как правильно настроить редиректы?
Редиректы настраивается в панели управления, заходите в раздел "Домены" нажимаете на доменное имя и на открывшейся странице выберите "Редиректы". Далее, следуя ниже приведенному примеру, можно настроить по аналогии свой редирект. Для того чтобы работали редиректы должно быть выполнено несколько условий: 1. Домен должен быть на вашем договоре и у него включена поддержка DNS. 2. У домена должны быть прописаны наши NS сервера. 3. Имена хостов для редиректа должны указывать на IP 78.110.50.101 В имени хоста и url можно использовать *. Примеры: Для редиректа с имени http://test.ht-systems.ru/test.html на сайт http://www.ya.ru, нужно: 1. в поле Host написать test.ht-systems.ru 2. в поле Url написать /test.html 3. в поле Redirect написать http://www.ya.ru 4. убедиться, что в настройках зоны test.ht-systems.ru указывает на IP 78.110.50.101 Для редиректа с имени http://*.ht-systems.ru/* на сайт http://www.rambler.ru, нужно: 1. в поле Host написать *.ht-systems.ru 2. в поле Url написать * 3. в поле Redirect написать http://www.rambler.ru 4. убедиться, что в настройках зоны *.ht-systems.ru указывает на IP 78.110.50.101
- Как назначить выделенный IP для домена?
1) В разделе "Услуги" нужно отредактировать заказ на хостинг и в поле "IP address" указать нужное количество IP адресов. 2) Перейти в раздел "Домены", нажать на имя домена, на открывшейся странице выбирать подраздел "IP адреса". Отметить IP адрес и нажать кнопку "Делегировать". 3) Возвращаетесь в раздел "Домены" и переходите в подраздел "Сайты" для нужного домена. Редактируете связь домен-каталог, в поле IP из списка выбираете ваш выделенный IP адрес.
Затем снова возвращаетесь в управление Вашим доменом и в подразделе DNS в А-записях меняете обычный IP на выделенный. Через 15-20 минут после этого сайт начнет работать по выделенному IP. - Как сделать редирект с http на https, при установленном уже ssl сертификате?
В корневой папке сайта отредактировать или создать файл .htaccess и в нем прописать следующие директивы<IfModule mod_rewrite.c>RewriteEngine OnRewriteCond %{HTTP:X-SSL} !^yes$RewriteRule (.*) https://yourdomain.com/$1 [R=301,L]</IfModule>