Абсолютно каждый нормальный сайт имеет в корневом каталоге файл .htaccess благодаря которому выполняется большая часть настроек которые можно изменять или же добавлять в зависимости от Ваших потребностей.
В файле .htaccess можно использовать такие настройки как ошибки 404, пароли на каталоги, пароли на файлы, редиректы страниц и многое другое. Не смотря на то, что файл .htaccess позволяет выполнять огромное количество настроек многие люди работают с сайтом и даже не знают о существовании такого файла.
Как правило все грамотные seo оптимизаторы, веб мастера уделяют большое внимание данному файлу так как благодаря нему можно оптимизировать url адреса сайта, сделать редиректы с несуществующих страниц сайта на новые, выбрать главный домен с www или без сделав перенаправление на нужный, вывод страницы ошибки 404 или при ошибке 404 перенаправление на главную сайта и т.п.
Перенаправление в .htaccess старых ссылок на новые страницы с помощью редиректа 301
Многие встречаются с проблемой изменения алиасов при переезде сайта на другой хостинг или смене дизайна сайта и соответственно сайт начинает терять позиции в поисковых системах так как из поиска вылетают проиндексированные страницы из за не доступности их по старым ссылкам. Вместо уже проиндексированных страниц получается ошибка 404. И соответственно поисковой робот не может знать, что Вы не удалили страницу, а просто изменили алиас либо имя категории и тут Вам пригодится .htaccess так как в нем можно создать редирект 301 который позволит перенаправлять поисковых роботов и людей по старой ссылке на новую тем самым Вы не потеряете трафик на сайт, а поисковой робот поймет, что у страницы изменился адрес и после апдейта так же поменяет его в поисковой базе. Вот так выглядят строки редиректа 301 в файле .htaccess
|
Redirect 301 http://ваш_домен.ru/old/ http://ваш_домен.ru/archive/new/ |
Первая ссылка это адрес старой страницы которой уже не существует, а вторая адрес новой страницы и за счет Redirect 301 будет происходить перенаправление.
Как защитить директории и файлы используя .htaccess и .htpasswd
Многие наверняка не однократно сталкивались при серфинге в интернете, что на некоторых сайтах для доступа к разделам или скачки файлов требует ввода логина и пароли и именно это и есть работа данных файлов. Благодаря возможности настройки данных файлов Вы можете обеспечить безопасность административных разделов сайта, каталогов файлов и многое другое.
С начала необходимо создать файл .htpasswd который должен содержать логин и пароль в таком виде "Login: password" (без кавычек). Создать его можно программой htpasswd.zip которую необходимо извлечь из архива и положить в корень диска С. После чего открыть командную строку windows и перейти в каталог С командой "cd/" и далее ввести команду "htpasswd -m .htpasswd admin" admin это учетная запись пользователя для которой мы генерируем пароль. После ввода команды Вам будет предложено ввести пароль и его подтверждение. Файл .htpasswd автоматически создастся в корне диска С там же куда Вы положили утилитку.
-cm — это ключи для утилиты. Ключ с — указывает, что необходимо создать новый файл с паролями. Если файл с таким именем уже существует, то он будет перезаписан. Ключ m — определяет шифрование по алгоритму MD5. Запомните пароли необходимо генерировать именно данной утилитой. Так же при желании можете набрать в поиске "онлайн генератор .htpasswd" и Вам откроется целая куча ссылок с генераторами таких файлов.
После этого он должен быть помещен именно в тот каталог который Вы хотите защитить. Если Вам необходимо добавить больше пользователей то их нужно добавить в данный файл в таком же формате с новой строки.
Далее нам необходимо создать окно авторизации которое будет требовать ввода логина и пароля
Для того чтобы создать экран авторизации, вам необходимо либо создать файл .htaccess либо если в той директории сайта на которую вы хотите установить защиту он уже есть просто откройте его и добавьте эти строки:
|
AuthType Basic
AuthName "Admin interface" AuthUserFile /home/х/хххххххх/krutim-all.ru/public_html/administrator/.htpasswd require valid-user <Files .htpasswd> deny from all </Files> |
Здесь все просто и понятно и единственно где у Вас могут возникнуть сложности это узнать абсолютный путь "AuthUserFile". Для того, что бы узнать абсолютный путь нужно либо обратится к хостеру либо поместить в корень сайта такой файлик home.rar и перейдите по адресу ваш_сайт/home.php и Вам будет показан абсолютный путь. Обратите внимание путь должен быть именно от корня до самого файла с паролями как показан на примере.
После выполнения всех действий если Вы перейдете в ту директорию сайта где у Вас лежат данные файлы Вам будет выведено окно для ввода логина и пароля.
Так же на многих виртуальных хостингах где Вы не имеете доступа к настройкам apache или php благодаря файлу .htaccess Вы можете изменять настройки на необходимые Вам.