20 Правил

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







Переконайтеся в тому, що ви зробили резервну копію оригінального файлу .htaccess для вашого сайту, перш ніж вносити будь-які зміни.

Крім того, пам'ятайте - працездатність вказаних нижче правил залежить від налаштувань вашого web-сервера, заданих хостером. Деякі директиви можуть бути заборонені і не працювати.

htaccess (від. англ. hypertext access) - файл додаткової конфігурації веб-сервера Apache, а також подібних йому серверів. Дозволяє задавати велику кількість додаткових параметрів і дозволів для роботи веб-сервера в окремих каталогах (папках), таких як керований доступ до каталогів, перепризначення типів файлів і т.д. без зміни головного конфігураційного файлу.

Файл .htaccess може бути розміщений в будь-якому каталозі. Директиви цього файлу діють на всі файли в поточному каталозі і у всіх його підкаталогах (якщо ці директиви не перевизначені директивами нижележащих файлів .htaccess).
Для того щоб ці файли .htaccess можна було використовувати, необхідні відповідні налаштування головного конфігураційного файлу (значення директиви AllowOverride має бути встановлено All). Як правило, переважна більшість хостерів дозволяють використовувати свої файли .htaccess.

Забороняємо завантаження файлів з зовнішніх сайтів

Не забудьте змінити domainname.com на ваше доменне ім'я і створити зображення stop_stealing_bandwidth.gif, яке буде показано замість запитаної картинки.

Блокуємо всі запити від небажаних User Agents

Це правило дозволяє заблокувати небажані User Agent, які можуть бути потенційно небезпечними або просто перевантажувати сервер непотрібними запитами.

# Блокуємо поганих ботів і роботів
SetEnvIfNoCase user-Agent ^ FrontPage [NC, OR]
SetEnvIfNoCase user-Agent ^ Java. * [NC, OR]
SetEnvIfNoCase user-Agent ^ Microsoft.URL [NC, OR]
SetEnvIfNoCase user-Agent ^ MSFrontPage [NC, OR]
SetEnvIfNoCase user-Agent ^ Offline.Explorer [NC, OR]
SetEnvIfNoCase user-Agent ^ [Ww] eb [Bb] andit [NC, OR]
SetEnvIfNoCase user-Agent ^ Zeus [NC]

Order Allow. Deny
Allow from all
Deny from env = bad_bot

Список User Agent браузерів, роботів і павуків пошукових машин, веб-каталогів, менеджерів закачувань, спам-ботів і поганих ботів можна знайти на сайті List of User-Agents.

Не забудьте змінити domainname.com на ваше доменне ім'я.

Налаштовуємо SEO-Friendly 301 Redirect

Якщо ви перенесли доменне ім'я або хочете перенаправляти користувача на певну сторінку (сторінки), без санкцій з боку пошукових машин, використовуйте цей код:

Не забудьте змінити domainname.com на ваше доменне ім'я, а /d/file.html і /r/file.html на відповідні директорії і сторінки.

Створюємо власні сторінки помилок

Вам набрид стандартний вигляд сторінок помилок? Немає проблем - за допомогою наступного коду, ви легко можете створити свою сторінку і показувати користувачеві саме її:

ErrorDocument 401 / error / 401 .php
ErrorDocument 403 / error / 403 .php
ErrorDocument 404 / error / 404 .php
ErrorDocument 500 / error / 500 .php

Не забудьте створити в кореневій директорії вашого сервера папку error і розмістити в ній відповідні файли.

Захищаємо певний файл

Нижченаведений код дозволяє вам заборонити доступ до будь-якого файлу - при запиті буде видаватися помилка 403. Для прикладі я закрив доступ до самого файлу htaccess, підвищивши рівень безпеки сайту.

# Захищаємо .htaccess файл

order allow. deny
deny from all

Стискаємо елементи за допомогою mod_deflate

В якості альтернативи компресії файлів за допомогою Gzip, ви можете використовувати mod_deflate (імовірно працює швидше). Додайте наступний код на початку вашого файлу .htaccess (також ви можете додати .jpg | .gif | .png | .tiff | .ico):

# Стискаємо елементи за допомогою mod_deflate


SetOutputFilter DEFLATE

Додаємо термін життя в заголовки

Даний код дозволяє додати терміни життя в заголовки:

Встановлюємо сторінки за замовчуванням

Зазвичай сторінкою за замовчуванням є index.html, однак за допомогою цього коду ви можете налаштувати за замовчуванням будь-яку іншу сторінку.

# Встановлюємо альтернативну сторінку за замовчуванням
DirectoryIndex about.html

Захищаємо паролем папки і файли

Ви можете включити перевірку пароля для доступу в будь-яку папку або файл на вашому сервері, використовуючи цей код:

# Захист паролем файлу

AuthType Basic
AuthName "Prompt"
AuthUserFile /pub/home/.htpasswd






Require valid- user

# Захист паролем папки
resides
AuthType basic
AuthName "This directory is protected"
AuthUserFile /pub/home/.htpasswd
AuthGroupFile / dev / null
Require valid- user

Для того, щоб організувати доступ до файлу за паролем, необхідно створити файл .htpasswd і внести в нього пару логін-пароль в форматі user: password.

Однак в цьому випадку паролі будуть зберігається у відкритому вигляді, що не дуже добре з точки зору безпеки. Тому оптимальніше пароль зашифрувати. Для цього скористайтеся сервісами генерації записів в файли .htpasswd. Наприклад, ось таким.

У нашому прикладі файл з паролями доступу лежить в кореневій директорії сайту і називається .htpasswd. Директорія вказується від кореня сервера і якщо шлях буде некоректним - Apache, не отримавши доступу до файлу, відмовить в доступі до папки будь-якому користувачеві - в тому чілсе і тому, який ввів правильну пару логін: пароль.

Перенаправляємо зі старого домену - на новий

Використовуючи .htaccess, ви можете налаштувати перенаправлення зі старого доменного імені на нове, додавши наступний код:

підсилюємо кешування

Використання цього правила не означає пряме прискорення завантаження вашого сайту. Воно призначене для більш швидкого завантаження сайту - для вже заходив на нього відвідувача, шляхом відправки статусу 304 для тих елементів, що не оновлювалися. Таким чином, при повторному завантаженні сторінки браузер відвідувача не буде заново завантажувати зображення, скрипти або CSS, а виведе ті файли, які вже зберігаються в його кеші. Ви можете змінити термін життя кеша, шляхом коригування його значення в роках (year), місяцях (month) або, наприклад - секундах (seconds). У прикладі вказано 1 рік.

# Підсилюємо кешування
FileETag MTime Size


ExpiresActive on
ExpiresDefault "access plus 1 year"

Стискаємо компоненти сайту шляхом включення Gzip

При використанні Gzip, сервер буде стискати файли перед відправкою їх користувачеві, через що ваш сайт буде завантажуватися швидше.

Зверніть увагу, що включення компресії призведе до більшого навантаження на процесор сервера.

Видаляємо «category» з URL

Для того, щоб обмежити доступ до тек, які можуть містити різноманітну інформацію і для забезпечення безпеки сервера, додайте цей код в файл .htaccess

Перенаправляємо RSS-стрічку Drupal на FeedBurner

Цей код дозволяє перенаправити RSS-стрічку Drupal на сервіс Google Feedburner.

Спочатку необхідно зареєструвати стрічку свого блога в сервісі Feedburner. Далі не забудьте замінити yourfeed на ім'я вашої стрічки вже в Feedburner.

Не забудьте замінити yourblog.com на доменне ім'я вашого блогу.

Прибираємо розширення файлу з URL

# Прибираємо розширення файлу з URL
RewriteRule ^ (([^ /] + /) * [^.] +) $ /$1.php [L]

захищаємо сайт

Даний код дозволяє захистити сайт від scripts enjection і небажаних модифікацій _REQUEST і / або GLOBALS

# Включаємо відстеження сім-посилань
Options + FollowSymLinks
# Запускаємо url_rewriting
RewriteEngine On
# Блокуємо всі посилання, що містять



Схожі статті