Файл .htaccess используется дополнительной тонкой настройки веб-сервера. С его помощью можно:

  • задать права доступа к определённым файлам и директориям;
  • полностью закрыть или открыть доступ для определённого IP или подсети;
  • организовать перенаправление;
  • управлять опциями PHP;
  • изменение URL-адресов;
  • и некоторые другие возможности.

Если нужно чтобы по разным адресам открывался один и тот же сайт

Например, у вас есть несколько доменов site1.com, site2.com, siteN.com, и вы хотите чтобы при переходе по любой из ссылок открывался один и тот же сайт. Для этого не нужен htaccess-файл, достаточно добавить домены как псевдонимы к основному.

Войдите в DirectAdmin с вашими учетными данными

Перейдите в меню Доменные указатели

Screenshot 2015-03-12 17.54.07
Добавьте site2.com как псевдоним для site1.com

Screenshot 2015-03-12 17.54.48

Теперь при переходе на http://site2.com вы будете видеть site1.com.

Screenshot 2015-03-12 17.54.56

Включение механизма преобразований

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]

Добавить комментарий