Самым распространенным http-сервером является Apache, так как он распространяется абсолютно бесплатно и обладает поддержкой PHP ,Perl, Java, CGI. На данный момент работает на более чем половине веб-серверов.
Htaccess – файл, в котором хранятся дополнительные настройки серверов, работающих при поддержке Apache. С помощью файла Htaccess можно настраивать редиректы, доступ к каталогам и т.д. При этом, этот файл не обращается к главному конфигурационному файлу, иными словами он не может никоим образом повлиять на работу сервера.
Файл Htaccess действует на каталог, в котором размещен, а также на дочерние каталоги. Этот файл можно разместить в любом каталоге с любыми настройками. Настройка файла происходит с помощью директив, которые также действуют на все файлы каталога, в котором размещен Htaccess и всех его дочерних каталогов, только если в дочерних каталогах не установлен свой Htaccess со своими настройками.
Назначение файла Htaccess
1. Авторизация (устанавливаем ограничение для посещения конкретной директории). 2. Собственные страницы ошибок (с помощью этого файла можно изменить вид страниц, которые отдаются при возникновении каких-либо ошибок на стороне сервера). 3. Изменение URL-адресов (можно изменять длинные URL-адреса на короткие). 4. Контроль кеша (через файл Htaccess возможно настроить кеширование файлов браузерами).
Директива перенаправления – редирект
Одна из самых часто используемых в файле Htaccess директив – это директива простого перенаправления. К примеру, нам нужно сделать редирект с какой-либо страницы сайта на другой сайт. Для этого, в файл .htaccess прописываем следующие строчки:
Не забудьте, что в файле php.ini нужно предварительно включить модуль mod_alias (включает Redirect, RedirectPermanent, RedirectMatch), либо модуль mod_rewrite (включает реврайт).
Сложное перенаправление - mod_rewrite
С помощью данного редиректа можно преобразовывать URL-адреса, так сказать, на лету. В mod_rewrite есть огромное количество правил и условий, которые позволяют делать любые преобразования URL-адресов.
Можно перенаправлять пользователей с домена с www на домен без www. Сделать это можно следующим образом:
Для того, чтобы перенаправить пользователей с поддомена, к примеру forum.webmasters.ru на директорию webmasters.ru/forum, вписываем в файл htaccess это: