Файл .htaccess используется дополнительной тонкой настройки веб-сервера. С его помощью можно:
- задать права доступа к определённым файлам и директориям;
- полностью закрыть или открыть доступ для определённого IP или подсети;
- организовать перенаправление;
- управлять опциями PHP;
- изменение URL-адресов;
- и некоторые другие возможности.
Если нужно чтобы по разным адресам открывался один и тот же сайт
Например, у вас есть несколько доменов site1.com, site2.com, siteN.com, и вы хотите чтобы при переходе по любой из ссылок открывался один и тот же сайт. Для этого не нужен htaccess-файл, достаточно добавить домены как псевдонимы к основному.
Войдите в DirectAdmin с вашими учетными данными
Перейдите в меню Доменные указатели
Добавьте site2.com как псевдоним для site1.com
Теперь при переходе на http://site2.com вы будете видеть site1.com.
Включение механизма преобразований
RewriteEngine On
Установка индексного файла
DirectoryIndex index.php index.htm inputpoint.php
Запрет на доступ к файлу
<Files config.php> Order Deny,Allow Deny From All </Files>
Перенаправление с http://www.site.com на http://site.com
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.site\.com$ [NC] RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]
Перенаправление со старого сайта на новый
Redirect 301 / http://newsite.com/
Перенаправление на конкретный скрипт в подкаталоге
RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !/script/index.php RewriteRule .* /script/index.php [L]
Убрать суффикс .php
RewriteEngine On RewriteRule ^(\w+)$ $1.php [NC]
Работа с кодировками
Установить кодировку по умолчанию
AddDefaultCharset windows-1251
Установить кодировку для файлов с определённым расширением
AddCharset UTF-8 .html
Установить кодировку для одного файла
<Files "example.html"> AddCharset UTF-8 .html </Files>
Перенаправление с HTTP на HTTPS
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Перенаправление с HTTPS на HTTP
RewriteEngine On RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
С HTTP на HTTPS с www
RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]