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: