Чтение онлайн

на главную - закладки

Жанры

Linux: Полное руководство

Аллен Питер В.

Шрифт:

16.3.9. Директивы перенаправления

Довольно часто нужно перенаправить пользователя на другой ресурс: например, вы сменили хостера и из-за этого изменилось имя вашего сайта. Обычно при таком «переезде» у вас есть определенное время, чтобы сообщить вашим пользователям об этом. Проще всего установить на старом сервере перенаправление на новый — во-первых, пользователи узнают ваш новый адрес, а во-вторых, им не нужно будет вводить этот адрес вручную — сервер сделает все автоматически.

Возможно, вы просто перенесли файлы в другой каталог — вам так удобнее, но пользователи не знают об этом и по-прежнему обращаются к старому каталогу. Тогда создайте редирект на новый каталог, и сервер автоматически перенаправит пользователей на него.

♦ Redirect. Используйте эту директиву,

когда нужно перенести документы в другой каталог или на другой сервер. Например, вам нужно перенести данные из каталога /users/den в каталог /den. Если при этом старый URL-адрес былто новый станетИспользуйте для этого следующую директиву:
Redirect /users/den /den
. Можно также перенаправить запрос на другой сервер:
Redirect /users/den/ www.den.domain.com
. При этом допускается использование как нового, так и старого URL-адреса.

♦ Alias — с помощью директивы Alias можно предоставить доступ не только к файлам, находящимся в каталоге, указанном директивой DocumentRoot и его подкаталогах, но и в других каталогах. По умолчанию определен только псевдоним для каталога /icons.

♦ ScriptAlias — аналогична директиве Alias, но позволяет задать месторасположение каталога для CGI-сценариев.

16.3.10. Директивы обработки ошибок

Такая директива всего одна, но она очень полезна. Например, произошла ошибка 404 (файл не найден). Вы можете сопоставить этой ошибке URL, на который будет перенаправлен браузер пользователя. Обычно перенаправление устанавливают на документ, содержащий логотип сайта и сообщение об ошибке.

ErrorDocument — директива, сопоставляющая коды ошибок сервера URL-адресам на этом же сервере.

16.3.11. Директивы управления доступом к отдельным каталогам

Вы можете определить отдельные параметры для каждого каталога вашего сервера — оформление каталога, параметры доступа к этому каталогу.

Блок директив Directory

Блок директив Directory определяет свойства каталога (см. листинг 16.3).

Листинг 16.3. Директива Directory

<Directory />

 Options Indexes Includes FollowSymLinks

 AllowOverride None

</Directory>

Свойства каталога можно указывать в директиве Directory или в файле

.htaccess
, который находится в том каталоге, для которого необходимо установить нужные параметры.

В блоке Directory могут находиться директивы управления доступом. К ним относятся директивы AllowOverride, Options, Limit. Рассмотрим по порядку все эти директивы. Директива AllowOverride может принимать значения, указанные в таблице 16.1.

Значения директивы AllowOverride Таблица 16.1

Значение Описание
None Сервер Apache будет игнорировать файлы .htaccess. Рекомендую установить данную опцию, так как это повысит производительность сервера
All Пользователи имеют право переопределять в файлах .htaccess глобальные параметры доступа. Из соображений безопасности лучше не использовать этот режим
Options Разрешает использовать директиву Options
Limit Разрешает использовать директиву Limit
AuthConfig Разрешает использование директив AuthName, AuthType, AuthUserFile и AuthGroupFile
FileInfo Разрешает использовать в файлах .htaccess директивы AddType и AddEncoding

С

помощью директивы Options можно определить функции сервера, которые будут доступны для использования в определяемом каталоге. Данную директиву можно использовать как в файле
httpd.conf
, так и в файлах
.htaccess
. Допустимые опции для директивы Options представлены в таблице 16.2.

Значения директивы Options Таблица 16.2

Значение Описание
None He разрешается использование каких-либо функций
All Разрешаются все функции
FollowSymLinks Разрешается использовать символические ссылки. С точки зрения безопасности не рекомендуется использовать этот режим
SymLinksIfOwnerMatch Разрешается использование символических ссылок, если они указывают на объекты, которые принадлежат тому же пользователю, что и сами ссылки
ExecCGI Разрешается выполнение CGI-сценариев
Indexes Если эта опция выключена, сервер не будет передавать содержимое каталога при отсутствии файла index.html
Includes Разрешено использование серверных включений. Рекомендую отключить эту опцию, поскольку это сильно нагружает сервер
IncludesNoExec Разрешает использование серверных включений, но запрещает запуск из них внешних программ

Директива Limit ограничивает доступ к файлам в определенном каталоге:

Limit метод

Параметр «метод» определяет метод передачи: GET или POST. Директиву Limit можно использовать внутри блоков Directory, Location или в файле

.htaccess
.

Блок директив Limit

В блоке Limit можно использовать такие директивы: allow (разрешить), deny (запретить), order (порядок), require (требуется). После директивы allow следует слово from, после которого можно указать IP-адрес, адрес сети, домен или просто имя компьютера. Слово all обозначает все компьютеры. Директива order определяет порядок выполнения директив allow и deny. Например, вам требуется запретить доступ всем компьютерам, кроме компьютеров, которые входят в домен ru (см. листинг 16.4).

Листинг 16.4. Директивы allow, deny

order deny, allow

deny from all

allow from ru

Следующий пример показывает, как разрешить доступ компьютерам только из вашей сети.

Листинг 16.5. Разрешение доступа подсети 192.168.1.0

order deny, allow

deny from all

allow from 192.168.1.

Кроме значений allow,deny и deny,allow, директива order может содержать значение mutual-failure. В этом случае в доступе будет отказано всем компьютерам, которые явно не указаны в списке allow.

Директиву require можно использовать для защиты каталога паролем. После названия директивы должен следовать список элементов: имена пользователей, групп, которые заданы в директивах AuthUserFile и AuthGroupFile. Можно использовать параметр valid-user, который укажет серверу предоставить доступ любому пользователю, имя которого имеется в директиве AuthUserFile, если он введет правильный пароль. Пример использования приведен в листинге 16.6.

Поделиться:
Популярные книги

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Третий Генерал: Том VII

Зот Бакалавр
6. Третий Генерал
Фантастика:
городское фэнтези
аниме
сказочная фантастика
попаданцы
5.00
рейтинг книги
Третий Генерал: Том VII

Сирота

Ланцов Михаил Алексеевич
1. Помещик
Фантастика:
альтернативная история
5.71
рейтинг книги
Сирота

Горизонт Вечности

Вайс Александр
11. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Горизонт Вечности

Лекарь Империи 5

Карелин Сергей Витальевич
5. Лекарь Империи
Фантастика:
городское фэнтези
аниме
героическая фантастика
попаданцы
5.00
рейтинг книги
Лекарь Империи 5

Локки 6. Потомок бога

Решетов Евгений Валерьевич
6. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Локки 6. Потомок бога

Проданная Истинная. Месть по-драконьи

Белова Екатерина
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Проданная Истинная. Месть по-драконьи

Виктор Глухов агент Ада. Компиляция. Книги 1-15

Сухинин Владимир Александрович
Виктор Глухов агент Ада
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Виктор Глухов агент Ада. Компиляция. Книги 1-15

#Бояръ-Аниме. Газлайтер. Том 36

Володин Григорий Григорьевич
36. История Телепата
Фантастика:
боевая фантастика
аниме
фэнтези
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 36

Бастард Императора. Том 13

Орлов Андрей Юрьевич
13. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 13

Барон меняет правила

Ренгач Евгений
2. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон меняет правила

Запрети любить

Джейн Анна
1. Навсегда в моем сердце
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Запрети любить

Звездная Кровь. Изгой

Елисеев Алексей Станиславович
1. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой

Я еще князь. Книга XX

Дрейк Сириус
20. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я еще князь. Книга XX