.htaccess - файл дополнительной конфигурации веб-сервера Apache. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управляемый доступ к каталогам, переназначение типов файлов и т.д., без изменения главного конфигурационного файла.
Включение обработки файла .htaccess осуществляется в разделе «Веб-сервер» — «Сайты» — «Имя сайта» - окно «Управление» панели управления хостингом (https://hosting.nic.ru).
СКРИНШОТ
Если Вы временно перенесли, либо изменили название страницы сайта, добасьте следующие строки:
Redirect 301 /page.html http://www.site.tld/new_page.html
где:
page.html - название старой страницы
site.tld - имя сайта
new_page.html - название новой страницы
Если страница перенесена временно, сообщить об этом посетителям можно добавив строки:
Redirect /page.html http://www.site.tld/new_page.html
где:
page.html - название старой страницы
site.tld - имя сайта
new_page.html - название новой страницы
При помощи файла .htaccess Вы можете установить свои страницы ошибок:
#401 Авторизация не выполнена
ErrorDocument 401 http://site.tld/401.html
#403 Доступ запрещен
ErrorDocument 403 http://site.tld/403.html
#404 Страница не найдена
ErrorDocument 404 http://site.tld/404.html
#500 Внутренняя ошибка сервера
ErrorDocument 500 http://site.tld/500.html
Не забудьте заменить site.tld на название Вашего сайта и создать страницы 401.html,403.html 404.html, 500.html в папке с сайтом.
Добавьте данный код в файл .htaccess если необходимо перенаправить все запросы к Вашему сайту к аналогичным страницам другого сайта.
Redirect 301 / http://www.site.tld/
либо
RewriteEngine on RewriteRule ^(.*)$ http://newsite.tld/$1 [R=301,L]
Обратите внимание, что в данном случае адресация будет постраничная:
при запросе "http://Ваш_сайт.рф/главная" будет происходить переадресация на http://www.site.tld/главная
Запретить доступ к сайту с IP адресов 123.4.5.6 и 123.5.4.3
Order Allow,Deny Allow from all Deny from local. Deny from 123.4.5.6, 123.5.4.3
Разрешить доступ к сайту со всех адресов кроме 123.4.5.6 и 123.5.4.3:
Order Deny,Allow Deny from all Allow from local. Allow from 123.4.5.6, 123.5.4.3
Запретить доступ к сайту для всех:
Order Deny,Allow Deny from all
Сделать первой страницей файл menu.html
DirectoryIndex menu.html
Включить обработку php кода в html файлах:
RemoveHandler .html .htm AddType application/x-httpd-php .php .htm .html .phtml
Перенаправить домен www.mysite.tld на mysite.tld:
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.mysite.tld [NC] RewriteRule ^(.*)$ http://mysite.tld/$1 [R=301,L]
Перенаправить домен mysite.tld на www.mysite.tld:
RewriteEngine on RewriteCond %{HTTP_HOST} ^mysite.tld [NC] RewriteRule ^(.*)$ http://www.mysite.tld/$1 [R=301,L]
В случае отсутствия в папке индексного файла, при обращении будет выдан список файлов каталога. Для того, что бы запретить выдачу листинга каталога добавьте в файл .htaccess строку:
Options -Indexes
В папке c файлами CGI-скриптов необходимо разместить файл .htaccess с содержимым:
AddHandler cgi-script .cgi .pl Options +ExecCGI
Скрипт должен иметь атрибут исполнения (+x, права доступа 755).
Атрибуты можно изменить с помощью файлового менеджера панели управления.
Также в разделе «Веб-сервер» - «управление модулями» должен быть включен модуль CGI.
Для запрета перхода c badsite.tld на site.tld добавьте в .htaccess следующее:
RewriteEngine on RewriteCond %{HTTP_REFERER} badsite\.tld [NC,OR] RewriteCond %{HTTP_REFERER} site\.tld RewriteRule .* - [F]
По-умолчанию файлы .html .htm обрабатываются как SSI, а значит для отдачи заголовка Last-modified в файл .htaccess нужно добавить строку:
RemoveHandler .html. .htm
При этом файлы .html .htm уже не будут обрабатываться на SSI
В файле .htaccess использование кириллицы не допускается. Для составления правил перенаправлений для киррилических доменов предварительно перекодируйте имя домена в пуникод. Сделать это можно введя имя домена в форму на странице https://www.nic.ru/whois/
К примеру, перенаправить site.ru на caйт.рф нужно следующим правилом:
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.mysite.ru [NC] RewriteRule ^(.*)$ http://XN--80ASWG.XN--P1AI/$1 [R=301,L]
2.14 Обработка html файлов интерпретатором РНР
Если html файл содержит php код, то для его исполнения нужно добавить в файл .htaccess следующие строки:
RemoveHandler .html .htm AddType application/x-httpd-php .php .htm .html .phtml
Директива RemoveHandler удаляет любые обработчики ассоциации файлов с расширениями .html .htm
Директива AddType присваивает тип контента выбранным расширениям. В данном случае файлы .php .htm .html .phtml будут обрабатываться как php файлы.
С дополнительной документацией и примерами использования Вы можете ознакомиться на страницах сайта разработчика веб-сервера Apache:
http://httpd.apache.org/docs/1.3/misc/rewriteguide.html
http://httpd.apache.org/docs/1.3/mod/mod_alias.html#redirect