Надійний стабільний VPS хостинг в Україні з PHP і MySQL. З підтримкою python/Django

Приклади налаштування .htaccess

Що таке файл .htaccess і для чого він потрібен?
Можливості файлу .htaccess
Перенаправлення (редирект)
Заборона веб-доступу / заборона по IP
Кілька порад для роботи з файлом .htaccess

Що таке файл .htaccess і для чого він потрібен?

.htaccess  -  спеціальний конфігураційний файл веб-сервера Apache який надає можливість змінювати налаштування веб-сервера Apache для окремих папок, без доступу до головного конфігураційного файлу.
Файл .htaccess можна створити в будь-якому каталозі і його налаштування будуть діяти на всі файли в поточному каталозі та у всіх його підкаталогах.

Можливості файлу .htaccess 

Основні параметри файлу:

  • Просте перенаправлення (редирект);
  • Складне перенаправлення (mod_rewrite);
  • Індексні сторінки;
  • Обробка помилок;
  • Визначення кодування;
  • Керування доступом до каталогів і файлам;
  • Паролювання каталогів;
  • Опції PHP.

Приклади налаштувань .htaccess

Перенаправлення (редирект)

Перенаправлення (редирект) на іншу адресу:

Redirect / http://www.another-site.ru


Перенаправлення (редирект) тільки при запиту визначених сторінок:

Redirect /blog http://www.another-site.com/blog


Перенаправлення example.com на www.example.com :

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\..* [NC]
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301]


І навпаки:

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]


Перенаправлення (редирект) тільки відвідувачів з тією чи іншою IP (XXX.XXX.XXX.XXX):

SetEnvIf REMOTE_ADDR XXX.XXX.XXX.XXX REDIR="redir" 
RewriteCond %{REDIR} redir 
RewriteRule ^/$ /page.html


Обробка помилок  Apache:

ErrorDocument 401 /401.html 
ErrorDocument 403 /403.html 
ErrorDocument 404 /404.html 
ErrorDocument 500 /500.html

При виникненні цих помилок відвідувач сайту буде перенаправлений на спеціально створені сторінки.

Перенаправлення на безпечне https-з'єднання:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Заброна веб-доступу / заборона по IP

Заборона веб-доступу:

Order Deny,Allow
Deny from all


Заборона веб-доступу крім IP (XXX.XXX.XXX.XXX):

Order deny,allow
Deny from all
Allow from xxx.xxx.xxx.xxx


Заборонити доступ для IP (XXX.XXX.XXX.XXX):

Order allow,deny
Allow from all
Deny from xxx.xxx.xxx.xxx


Заборонити доступ до файлів з декілька типів розширення:

<Files ~ "\.(inc|conf|cfg)$"> 
  deny from all 
</Files>


Заборонити доступ до певного файлу (secret.php):

<Files secret.php> 
  deny from all 
</Files>


Ви також можете заборонити веб-доступ діапазону IP-адресс:

Order Deny,Allow
Deny from 192.168.0.0/16


Інші налаштування

Заборонити перегляд каталогу без індексних файлів:

Options -Indexes


Зміна індексної сторінки яка завантажується за замовчуванням:

DirectoryIndex mypage.html


Кілька порад для роботи з файлом .htaccess

  • Вносьте зміни в файл покроково, щоб в разі невдач Ви могли легко вирішити проблему.
  • Завжди робіть резервну копію файлу, щоб була можливість відновити файл якщо зміни не працюють або не збереглися.
  • Після внесення змін до файлу і перевірки сайту бажано чистити кеш браузера, так як старі налаштування можуть зберегтися в кеші.
  • Найпоширеніша помилка веб-сервера при роботі з .htaccess - 500, і або вона вказує на проблему в синтаксисі (помилка в каталозі, наприклад), або ж в головному конфігураційному файлі не дозволений такий тип каталогу.

Якщо Вас не влаштовують всі можливості налаштувань файлу .htaccess - можливо  замовлення віртуального приватного серверу Вас зацікавить. На них Ви зможете вносити зміни безпосередньо в налаштування Apache. Наші пропозиції на віртуальні приватні сервера підійдуть для будь-якого користувача.