.htaccess (от hypertext и access) е конфигурационен файл, използван от уеб сървъра Apache. Това е текстов файл, който може да бъде създаден с текстов редактор. .htaccess файлът има рекурсивно действие, т.е. важи за директорията, в която се намира и за всички нейни поддиректории. Името на файла .htaccess задължително започва със знака точка.
Основните функции на .htaccess файла са:
- Позволяване/забраняване на отварянето на страницата за определени IP адреси
- Позволяване/забраняване извеждането на списък на файловете в дадена директория, както и да се промени начина на показване
- Позволяване на достъп до дадена директория, само след въвеждане на валидни потребителско име и парола (използва се допълнителен файл за съхранение на паролите)
- Може да се зададе пренасочване към друг URL адрес
- В него могат да се зададат правила за пренаписване на URL адреси (mod_rewrite)
- Може да забрани/позволи достъпа само до определени файлове
- Може да промени index файла на директорията
- Може да промени съобщенията за грешки на Apache (404, 500, 401, 403) и др.
Как да създам .htaccess файл?
Отворете текстов редактор, например Gedit или Notepad и създайте файла. Файлът практически няма име, а само разширение след точката, което е htaccess – това е причината, която може да породи известни трудности, тъй като някои операционни системи няма да го възприемат.
Ако не успеете да създадете файла, наименувайте го по друг начин, например htaccess.txt, качете го в хостинг акаунта и след това го преименувайте (през Файловия мениджър или през FTP).
Синтаксисът на командите в .htaccess трябва да бъде абсолютно верен, в противен случай файлът няма да изпълни предназначението си и ще се получи съобщение за грешка 500.
Най-често използвани функционалности в .htaccess файла
Задаване на собствена 404 error страница
Синтаксисът на командата е:
ErrorDocument errornumber /page.html
Например:
ErrorDocument 404 /notfound.html
или
ErrorDocument 404 errorfolder/notfound.html
Вторият пример се използва, когато файлът не е в основната директория.
Задаване на алтернативен индекс файл
Когато не желаете индексния файл да бъде index.html или index.htm може да зададете друг чрез командата:
DirectoryIndex file
заменете file с индексния тип файл, например:
DirectoryIndex index.php
или
DirectoryIndex index2.html
или
DirectoryIndex mypage.pl
или
DirectoryIndex index.wml и т.н.
Може да се зададат като алтернативни и няколко файла, например:
DirectoryIndex index.php mypage.pl index2.html index.htm index.wml
В този случай сървърът ще проверява подред отляво надясно кой от файловете съществува, за да го покаже като индексен.
Няма ограничения за задаване на индексен файл – ако разполагате с файл blabla.bla ще може да го зададете като индексен чрез DirectoryIndex blabla.bla
Пренасочване на папка чрез .htaccess
Възможно е цяла директория от даден сайт /например mydir/ да бъде пренасочена към друга директория от друг сайт /например mynewdir от сайта mysupersite.com/:
Redirect /mydir https://mysupersite.com/mynewdir
И още:
Забрана за показване на файлове и папки: Options -Indexes
Разрешаване за показване на на файлове и папки: Options +Indexes
🔗 Забрана за достъп по IP в .htaccess | Help
🔗 Забрана/Разрешаване в .htaccess – Достъп до файл или директория | Help
🔗 Пренасочване в .htaccess – от един URL адрес към друг URL адрес | Help
🔗 Пренасочване в .htaccess – Сайтът да се зарежда през сигурна връзка (HTTPS) | Help
🔗 Пренасочване на мобилните потребители към мобилната версия на сайта | Help