
Underground Forum

- #1
Что такое htaccess
.htaccess - это вспомогательный файл конфигурации веб-сервера Apache. Все изменения производимые в .htaccess не влияют на глобальные настройки сервера.
С помощью .htaccess можно управлять доступом к файлам и каталогам сайта, создавать ЧПУ ссылки и редиректы, удалять дубликаты страниц из поиска и многое другое.
Синтаксис
“.” — просто точка.“*” — означает, что символ или группа символов может присутствовать или отсутствовать неограниченное количество раз.
“?” — означает, что символ или группа символов может присутствовать или отсутствовать.
“+” — обычно ставится перед “*”.
“^” — означает начало новой строки.
“$” — означает конец строки.
“$N” — означает число от 0 до 9. Используется для обращения к шаблону RewriteRule.
“%N” — означает число от 0 до 9. Используется для обращения к шаблону RewriteCond.
“[]” — квадратные скобки, используются для перечисления.
“{}” — фигурные скобки.
“()” — используется для выделения групп символов.
“|” — означает альтернативный выбор.
“\” — слеш нужен для экранирования спецсимволов.
Основные переменные
SERVER_ADMIN | Почтовый адрес владельца сервера, указанный при установке. |
SERVER_NAME | Адрес сервера, как например domain1.ru |
SERVER_ADDR | IP-адрес веб-сервера. |
SERVER_PORT | Порт httpd. |
SERVER_PROTOCOL | Версия HTTP протокола сервера. |
SERVER_SOFTWARE | Название софта, на котором работает веб-сервер. |
HTTP_USER_AGENT | Информация о веб-браузере посетителя. |
HTTP_REFERER | Адрес первой страницы. |
HTTP_COOKIE | COOKIE которые будут передаваться веб-браузером. |
HTTP_FORWARDED | Адрес страницы, с которой перешел пользователь. |
HTTP_HOST | Адрес веб-сервера, как и SERVER_NAME. |
HTTP_ACCEPT | Информация о клиенте. |
SCRIPT_FILENAME | Путь до определенной страницы или файла. |
PATH_INFO | Содержит в себе информацию о конце пути. |
QUERY_STRING | Строка, передающаяся в качестве запроса при работе с CGI скриптами. |
AUTH_TYPE | Используется для определения типа идентификации клиента. |
DOCUMENT_ROOT | Путь до корневой директории веб-сервера. |
REMOTE_ADDR | IP посетителя. |
REMOTE_HOST | Адрес посетителя. |
REMOTE_IDENT | Информация об удаленном пользователе. |
REMOTE_USER | Похож на REMOTE_IDENT. |
REQUEST_METHOD | Определяет тип запроса. |
Примеры
Перенаправление с http на httpsRewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [QSA,R=301,L]
Простой, 301 редирект на другой сайт:
Redirect 301 / http://newsite.ru/
Перенаправление пользователя на страницу о технических работах:
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^X.X.X.X$
RewriteCond %{REQUEST_URI} !^not-available.html
RewriteRule ^.*$ not-available.html
Last edited: