.HTACCESS
.htaccess (с точкой в начале имени) - это файл конфигурации сервера Apache, который позволяет настроить сервер в отдельном каталоге (папке), не предоставляют доступ к основному файлу конфигурации.
Например, для установки прав доступа к файлам в директории, изменить имена индексных файлов, самостоятельно обрабатывать ошибки Apache, перенаправление посетителей на специальную страницу ошибки. .htaccess файл - это текстовый документ, расширение который имеет htaccess.
Этот файл обычно находится в корне сайта, однако, Вы можете создать и дополнительные .htaccess файлы в разных каталогах Вашего сайта.
Mod_rewrite - модуль используется web-серверами для преобразования URL.
Директивы модуля Mod_rewrite |
|||
| RewriteBase | RewriteCond | RewriteEngine | RewriteLock |
| RewriteLog | RewriteLogLevel | RewriteMap | RewriteOptions |
| RewriteRule | |||
Варианты реализации Редиректа с помощью файла .htaccess |
Простой редирект:
Если у пользователя ip-адрес 89.222.130.30, он будет перенаправлен на страницу redirect.php:
RewriteCond %{REDIR} redir
RewriteRule ^/$ /redirect.php
Перенаправить при запросе отдельных файлов. Если запрошенные файлы, расширение которых не указан в файле .htaccess файлы (gif и png), то следует перенаправление пользователя:
RewriteRule !.(gif|png)$ index.php
Использование mod_rewrite:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www3\.ru
RewriteRule ^(.*)$ http://www.www3.ru/$1 [R=permanent,L]
Если вы хотите сделать различные перенаправления для отдельных страниц, вы можете использовать следующие:
RedirectMatch Permanent ^/html/other_page.html$ http://www.www3.ru/other_page.php
RedirectMatch Permanent ^/(.*)$ http://www.www3.ru/
"RedirectMatch Permanent" - это эквивалент "RedirectMatch 301", в соответствии с "*(Wildcard)" должен быть последним в этом списке.
Создание удобо читаемых URL:
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]
В следующем примере преобразуем www.www3.ru/script.php?product=123 в www.www3.ru/cat/product/123/:
Запрещение доступа в конкретную директорию |
для всех ко всем файлам в директории:
к конкретному файлу:
deny from all
по ip пользователя:
deny from all
allow from 89.222.130.30
Определение кодировки |
варианты: KOI8-R, UTF-8, Windows-1251
Установка пароля на директорию с помощью .htaccess |
AuthName "Some Name"
AuthUserFile /www/some_login/www/htdocs/some_dir/.htpasswd
require valid-user
Задаем собственные страницы ошибок |
Задать собственную страницу ошибок можно следующим образом:
Индексация директорий и поддиректорий |
Задать собственную страницу ошибок можно следующим образом:
Эта директива определяет файл, который будет вызываться при обращении к директории, без указания имени файла.
Вы можете указать несколько страниц индексов. При запросе каталога они будут искаться в том порядке, в котором перечислены в директиве DirectoryIndex.
Если файл не найден index.html, она будет автоматически искать файл index.php и т.д.
