manual:htaccess_sett
no way to compare when less than two revisions
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версияСледующая версия | |||
— | manual:htaccess_sett [2017/08/14 12:20] – [Защита Паролем] akim | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Настройка файла .htaccess ====== | ||
+ | Если Вы не видите файл **.htaccess**, | ||
+ | |||
+ | - Файл **.htaccess** еще не создан или не загружен в каталог **html**. Пожалуйста, | ||
+ | - Файл **.htaccess** был удален. Пожалуйста, | ||
+ | - В настройках используемого FTP клиента **не установлено отображение скрытых файлов**. | ||
+ | |||
+ | Некоторые FTP-клиенты по умолчанию не отображают скрытые файлы. Подключившись одним из таких клиентов к FTP-серверу, | ||
+ | |||
+ | Чтобы настроить отображение скрытых файлов в других FTP-клиентах, | ||
+ | |||
+ | ---- | ||
+ | |||
+ | В этой статье Вы узнаете как произвести настройку файла .htaccess для оптимизации работы вашего сайта. | ||
+ | |||
+ | Хостинг провайдер Ipipe.ru поддерживает файлы .htaccess, однако, | ||
+ | |||
+ | <note important> | ||
+ | **ВАЖНО!** Перед изменением файла .htaccess рекомендуется сделать **резервную копию**. Так как файл .htaccess - является конфигурационным файлом для вашего сегмента сервера, | ||
+ | </ | ||
+ | |||
+ | Apache позволяет настроить сервер на уровне каталога, | ||
+ | |||
+ | * Создание файла .htaccess | ||
+ | * Альтернативный индекс Файл | ||
+ | * Пользовательские страницы ошибок | ||
+ | * Запрет показа содержимого каталога, | ||
+ | * Запретить / Разрешить доступ по IP-адресам | ||
+ | * Перенаправление | ||
+ | * Защита Паролем | ||
+ | |||
+ | <note warning> | ||
+ | |||
+ | |||
+ | |||
+ | ==== Создание файла .htaccess ==== | ||
+ | |||
+ | Вы можете создать файл .htaccess на вашем локальном компьютере или на сервере. | ||
+ | |||
+ | === На компьютере (локально) === | ||
+ | |||
+ | **Операционная система Windows**: С помощью программы **Блокнот**, | ||
+ | |||
+ | **Операционная система Mac OS X**: С помощью программы **TextEdit**, | ||
+ | |||
+ | Используя любой **FTP клиент** - загрузите созданный файл на сервер. Файл **.htaccess** необходимо будет разместить в каталоге, | ||
+ | |||
+ | |||
+ | === На сервере === | ||
+ | |||
+ | Заходим в панель управления [[https:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Далее, если вход не будет выполнен по прошествии 5 секунд, | ||
+ | |||
+ | Вы попадете на страницу работы с FTP сервером, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Таким образом Вы получили в вашей корневом каталоге файл **.htaccess**, | ||
+ | |||
+ | |||
+ | ==== Альтернативный индекс Файл ==== | ||
+ | |||
+ | Вы можете использовать не только **index.htm** или **index.html** в качестве индексного файла для каталога (сайта). Например, | ||
+ | |||
+ | Альтернативные индексные файлы заносятся в список. Сервер будет работать слева направо, | ||
+ | |||
+ | DirectoryIndex index.php index.php3 messagebrd.pl index.html index.htm | ||
+ | |||
+ | |||
+ | ==== Пользовательские страницы ошибок ==== | ||
+ | |||
+ | Вы можете настроить свои собственные, | ||
+ | |||
+ | Вы можете использовать пользовательские страницы ошибок для любой ошибки (например, | ||
+ | |||
+ | ErrorDocument errornumber / error.html | ||
+ | или\\ | ||
+ | ErrorDocument 404 / | ||
+ | ErrorDocument 403 / | ||
+ | ErrorDocument 400 / | ||
+ | ErrorDocument 500 / | ||
+ | |||
+ | Более подробно об обработке ошибок можно прочитать в документации по Apache на странице http:// | ||
+ | |||
+ | ==== Запрет показа содержимого каталога, | ||
+ | |||
+ | Иногда, | ||
+ | |||
+ | Чтобы предотвратить показ содержимого, | ||
+ | |||
+ | Запрет показа содержимого каталога | ||
+ | Options ExecCGI Includes IncludesNOEXEC SymLinksIfOwnerMatch –Indexes | ||
+ | |||
+ | Разрешение показа содержимого каталога | ||
+ | Options All +Indexes | ||
+ | |||
+ | |||
+ | ==== Запретить / Разрешить доступ по IP-адресам ==== | ||
+ | |||
+ | Чтобы " | ||
+ | |||
+ | Пожалуйста, | ||
+ | |||
+ | Для блокировки IP-адресов, | ||
+ | |||
+ | order allow,deny | ||
+ | deny from 123.123.123.123 # конкретный IP-адрес | ||
+ | deny from 123.123.123.123/ | ||
+ | deny from 123.123.* # ограничение маски подсети по B классу | ||
+ | allow from all | ||
+ | |||
+ | Для открытия доступа определенным IP-адресам: | ||
+ | |||
+ | order allow,deny | ||
+ | allow from 123.123.123.123 # | ||
+ | allow from 123.123.123.123/ | ||
+ | allow from 123.123.* # | ||
+ | deny from all | ||
+ | |||
+ | Примечание: | ||
+ | |||
+ | |||
+ | ==== Redirect (перенаправление) ==== | ||
+ | |||
+ | Наиболее часто используемые, | ||
+ | |||
+ | Redirect / http:// | ||
+ | | ||
+ | где http:// | ||
+ | |||
+ | Если мы хотим определенные страницы нашего сайта переадресовывать на другие сайты: | ||
+ | |||
+ | Redirect /linux http:// | ||
+ | Redirect / | ||
+ | Redirect 301 /kernel http:// | ||
+ | |||
+ | теперь при наборе http:// | ||
+ | |||
+ | Ниже представлен пример со строками для файла .htaccess, позволяющий корректно перенести сайт на новый домен, с учетом специфики поисковых систем: | ||
+ | |||
+ | < | ||
+ | RewriteEngine on | ||
+ | RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC] | ||
+ | RewriteRule ^([^/]+) $1 [L] | ||
+ | |||
+ | RewriteCond %{HTTP_HOST} ^site-old\.com | ||
+ | RewriteRule ^(.*)$ http:// | ||
+ | RewriteCond %{HTTP_HOST} ^www.site-old\.com | ||
+ | RewriteRule ^(.*)$ http:// | ||
+ | </ | ||
+ | |||
+ | Содержание robots.txt: | ||
+ | |||
+ | < | ||
+ | User-agent: Yandex | ||
+ | Host: site-new.com | ||
+ | |||
+ | User-agent: * | ||
+ | Disallow: | ||
+ | Sitemap: http:// | ||
+ | </ | ||
+ | |||
+ | Теперь все пользователи и поисковые системы будут перенаправляться с site-old.com и www.site-old.com на site-new.com, | ||
+ | |||
+ | |||
+ | Синтаксис команды Redirect выглядит следующим образом: | ||
+ | |||
+ | **Redirect [status] URL_LOCAL URL_REDIRECT** | ||
+ | |||
+ | status : необязательное поле, определяет код возврата, | ||
+ | * permanent (301 — документ перемещен постоянно) | ||
+ | * temp (302 — документ перемещен временно) | ||
+ | * seeother (303 — смотрите другой) | ||
+ | * gone (410 — убран) | ||
+ | URL_LOCAL : локальная часть URL запрашиваемого документа. | ||
+ | URL_REDIRECT : URL куда должен быть выполнен редирект. | ||
+ | |||
+ | |||
+ | ==== Защита Паролем ==== | ||
+ | |||
+ | Одной из многих способностей файла **.htaccess** является возможность надежно защитить паролем папки на веб-сайтах. | ||
+ | |||
+ | Добавление парольной защиты в каталог с помощью **.htaccess** происходит в два этапа. | ||
+ | |||
+ | Первая часть, необходимо добавить соответствующие строки в ваш файл **.htaccess** в директории, | ||
+ | |||
+ | AuthType Basic | ||
+ | AuthName "My Protected Area" | ||
+ | AuthUserFile / | ||
+ | Require valid-user | ||
+ | |||
+ | * **FTP_LOGIN** - логин FTP аккаунта | ||
+ | * **USER_SITE** - сайт для которого создается защита. | ||
+ | |||
+ | Давайте разберем этот код. Все строки являются постоянными, | ||
+ | |||
+ | Вторая часть, необходимо создать файл **.htpasswd**. Создавать его будем также как и описанные выше способы создания файла .htaccess. Далее, нам необходимо добавить в этот файл строки содержащие данные входа. Для этого, | ||
+ | |||
+ | Открываем этот сервис в браузере и вводим желаемые **Имя пользователя** (Username) и **пароль** (Password). И нажимаем кнопку **создать файл** (Create .htpasswd file). В результате получаем строку, | ||
+ | |||
+ | При попытке доступа к сайту, который был защищен с помощью .htaccess, в вашем браузере появится стандартное диалоговое окно имени пользователя / пароля. |