Вебмастеру функций в файле .htaccess бесплатно
Данная статья повествует о файле .htaccess, с помощью которого возможно управление вашим веб-сервером. Этот полезный файл способен устанавливать пароль на целую папку или определенный файл, устанавливать страницу, к которой будет обращаться сервер при запросе к каталогу, создавать редиректы, использовать ЧПУ (Человеку Понятный URL), устанавливать страницы ошибок, запрещать доступ к файлу по определенному IP, и много других полезностей. Я вам расскажу на примерах, быстро и понятно, про этот файл, а так же научу создавать ЧПУ для определенной ссылки, сделаем добавление для DataLife Engine.
Начнем с того, что файл имеет название «.htaccess». Очень часто нет возможности его использовать на бесплатных хостингах, не поддерживающих языки программирования, таких как UcoZ, Narod.ru, By.ru и других. На всех платных хостигах файл .htaccess, безусловно, поддерживается.
Файл .htaccess в корневой папке вашего сайта имеет распространение на все папки вашего сайта, при условии, что в папке нет другого .htaccess. Для каждой папки на вашем сайте вы можете устанавливать файл .htaccess. Файл «.htaccess» является служебным файлом (только для сервера), он не доступен пользователю при запросе через браузер.
Основы в написании файла «.htaccess».
Путь к папкам сервера указывается с корня.
Пример:
DirectoryIndex /hello.html
Обозначается корневая папка слешем «/»
Комментарии начинаются со знака решетки «#»
В выражениях можно использовать зарезервированные переменные ({REMOTE_ADDR} и т.п.). Выражение – это совокупность данных, шаблон.
Некоторые основные примеры использования функций в файле «.htaccess».
Задание параметров для определенного файла.
(парамметры)
Пример.
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Описание: запрещается доступ к файлу «nameFile.html» со всех IP, кроме 127.0.0.1.
Redirect - перенаправление.
Пример.
Redirect /hello.php /privet.php
Описание: При запросе браузером файла «hello.php», браузер перенаправляется на файл «privet.php»
RedirectMatch – перенаправление с использование регуляторных выражений.
Пример.
RedirectMatch (.*).gif$ /image.php?show=$1
Описание: при запросе файла с расширением «.gif» перенаправление идет на файл «image.php?show=$1», где $1 – это переменная с названием файла, которое вынимается из запрашиваемого файла.
Ограничение доступа.
Order - устанавливает порядок работы Deny и Allow, порядок принимает значение Deny,Allow или Allow,Deny. По умолчанию: Order Deny,Allow.
Deny – запрет доступа определенного клиента к ресурсам.
Allow – разрешает доступ определенным клиентам.
Пример.
Order Deny,Allow
Deny from all
Описание: запрещен доступ всем.
Order Deny,Allow
Deny from all
Allow from 192.168.1.1
Описание: разрешен доступ определенному IP.
DirectoryIndex - изменения стартовой страницы по умолчанию.
Пример.
DirectoryIndex main.html index.php
ErrorDocument – страницы ошибок.
Коды ошибок.
401 — Требуется авторизация (Authorization Required)
403 — пользователь не прошел аутентификацию, запрет на доступ (Forbided)
404 — запрашиваемый документ (файл, директория) не найден (Not Found)
500 — внутренняя ошибка сервера — ошибка скрипта или ошибка в синтаксисе файла .htaccess - (Internal Server Error)
Пример.
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
Описание: например, при ошибке 404 будет отображаться страница 404.html
Это лишь малый список функций и их описаний в файле .htaccess.
Займемся DataLife Engine.
Мы будем редактировать файл «.htaccess», который находиться в корневой папке вашего проекта или в папке с установленной DataLife Engine. Сделайте архивную копию файла. Откройте файл для редактирования.
Найдите:
«RewriteEngine On»
Ниже добавьте:
# ЧПУ для ссылки на страницу обратной связи
RewriteRule ^feedback.html$ index.php?do=feedback [L]
# ЧПУ для ссылки на страницу регистрации
RewriteRule ^reg.html$ index.php?do=register [L]
# ЧПУ для ссылки на страницу выхода пользователя
RewriteRule ^exit.html$ index.php?action=logout [L]
# ЧПУ для ссылки на страницу восстановления забытого пароля
RewriteRule ^password.html$ index.php?do=lostpassword [L]
Сохраните изменения в файле «.htaccess», отредактируйте шаблоны, измените соответствующие ссылки на новые эквивалентные им ссылки с ЧПУ.
Пояснения, ссылка на регистрацию по умолчанию в DataLife Engine – «index.php?do=register», теперь после внесенных добавлений ссылка для регистрации будет «reg.html».
ЧПУ создается легко, для этого используют регулярные выражения. Теперь ссылка понятна не только человеку, но и программе.
На заметку: На хостинге UcoZ не существует папки Forum, это просто ЧПУ, вероятней всего ссылка без ЧПУ выглядит примерно так «index?a=forummain».
Дополнительной литературы очень много в интернете, не смысла дублировать статьи, как говориться «гугль в помощь»