Приклади налаштування .htaccess
Що таке файл .htaccess і для чого він потрібен?
Можливості файлу .htaccess
Перенаправлення (редирект)
Заборона веб-доступу / заборона по IP
Кілька порад для роботи з файлом .htaccess
Що таке файл .htaccess і для чого він потрібен?
.htaccess - спеціальний конфігураційний файл веб-сервера Apache який надає можливість змінювати налаштування веб-сервера Apache для окремих папок, без доступу до головного конфігураційного файлу.
Файл .htaccess можна створити в будь-якому каталозі і його налаштування будуть діяти на всі файли в поточному каталозі та у всіх його підкаталогах.
Можливості файлу .htaccess
Основні параметри файлу:
- Просте перенаправлення (редирект);
- Складне перенаправлення (mod_rewrite);
- Індексні сторінки;
- Обробка помилок;
- Визначення кодування;
- Керування доступом до каталогів і файлам;
- Паролювання каталогів;
- Опції PHP.
Приклади налаштувань .htaccess
Перенаправлення (редирект)
Перенаправлення (редирект) на іншу адресу:
Перенаправлення (редирект) тільки при запиту визначених сторінок:
Перенаправлення example.com на www.example.com :
RewriteCond %{HTTP_HOST} !^www\..* [NC]
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301]
І навпаки:
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Перенаправлення (редирект) тільки відвідувачів з тією чи іншою IP (XXX.XXX.XXX.XXX):
RewriteCond %{REDIR} redir
RewriteRule ^/$ /page.html
Обробка помилок Apache:
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
При виникненні цих помилок відвідувач сайту буде перенаправлений на спеціально створені сторінки.
Перенаправлення на безпечне https-з'єднання:
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Заброна веб-доступу / заборона по IP
Заборона веб-доступу:
Deny from all
Заборона веб-доступу крім IP (XXX.XXX.XXX.XXX):
Deny from all
Allow from xxx.xxx.xxx.xxx
Заборонити доступ для IP (XXX.XXX.XXX.XXX):
Allow from all
Deny from xxx.xxx.xxx.xxx
Заборонити доступ до файлів з декілька типів розширення:
deny from all
</Files>
Заборонити доступ до певного файлу (secret.php):
deny from all
</Files>
Ви також можете заборонити веб-доступ діапазону IP-адресс:
Інші налаштування
Заборонити перегляд каталогу без індексних файлів:
Зміна індексної сторінки яка завантажується за замовчуванням:
Кілька порад для роботи з файлом .htaccess
- Вносьте зміни в файл покроково, щоб в разі невдач Ви могли легко вирішити проблему.
- Завжди робіть резервну копію файлу, щоб була можливість відновити файл якщо зміни не працюють або не збереглися.
- Після внесення змін до файлу і перевірки сайту бажано чистити кеш браузера, так як старі налаштування можуть зберегтися в кеші.
- Найпоширеніша помилка веб-сервера при роботі з .htaccess - 500, і або вона вказує на проблему в синтаксисі (помилка в каталозі, наприклад), або ж в головному конфігураційному файлі не дозволений такий тип каталогу.
Якщо Вас не влаштовують всі можливості налаштувань файлу .htaccess - можливо замовлення віртуального приватного серверу Вас зацікавить. На них Ви зможете вносити зміни безпосередньо в налаштування Apache. Наші пропозиції на віртуальні приватні сервера підійдуть для будь-якого користувача.