Файл .htaccess
Задание:
Создать файл .htaccess, содержащий перенаправления и базовую конфигурацию веб-сервера. Необходимо помнить о том, что директивы файла .htaccess действуют для директории, в которой размещен этот файл, а также для всех ее поддиректорий. Если при помощи файла .htaccess нужно изменить настройки для всего сайта в целом, его следует размещать в корневой директории сайта.
Выбор кодировки сайта:
AddDefaultCharset UTF-8
php_value default_charset UTF-8
Включение обработки кода PHP в файлах с расширениями .phtml и .php:
AddType application/x-httpd-php .phtml .php
Настройка индексного файла директории:
DirectoryIndex index.htm index.html index.phtml index.php
Запрет выдачи листинга директории:
Запрет доступа к сайту с IP-адресов 123.4.5.6 и 123.4.5.7:
Order Allow,Deny
Allow from all
Deny from 123.4.5.6 123.4.5.7
Запрет доступа к сайту со всех с IP-адресов, кроме 123.4.5.6 и 123.4.5.7:
Order Deny,Allow
Deny from all
Allow from 123.4.5.6 123.4.5.7
Запрет доступа к файлам с расширением .inc:
<Files *.inc>
Order deny,allow
Deny from all
</Files>
Переопределение страниц ошибок:
ErrorDocument 401 /errors/401.phtml
ErrorDocument 403 /errors/403.phtml
ErrorDocument 404 /errors/404.phtml
ErrorDocument 500 /errors/500.phtml
Постоянное перенаправление с кодом 301:
Redirect 301 /olddirectory/ https://mysite.ru/newdirectory/
Redirect 301 /oldfile.html https://mysite.ru/newfile.html
Перенаправление с www.mysite.ru на mysite.ru:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
Перенаправление с http://mysite.ru на https://mysite.ru:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Парольный доступ к дирректории:
Файл .htaccess:
AuthType Basic
AuthName admin
AuthUserFile "/absolute/path/to/file/on/server/.htpasswd"
require valid-user
Файл .htpasswd:
admin:$apr1$gihsuk2b$Nxg.etdEpTO06F.sXPXPo1
vasya:$apr1$4qe9hojt$NJIFo6xXrIhINW6kKgVqG0
Для того, чтобы узнать абсолютный путь до файла .htpasswd на сервере, разместите в той же директории PHP-документ со следующит содержимым:
<?
echo __DIR__.'/.htpasswd';
?>
и запустите его в браузере, набрав URL «https://yourfamilyname.ktno.ru/path/to/htpasswd/file/scriptname.php».