За какво се използва .htaccess файла?
Съкращението на този файл означава Hypertext accesss. Той е конфигурационен и работи на ниво директория, т.е. може да промени част от глобалната конфигурация на сървъра, за директорията, в която е поставен и нейните папки. Главната му цел е да определи кой има достъп до съдържанието на определена папка през Интернет. Най-честата му употреба е за:
- Ауторизация и идентификация
- Пренасочване на URLs
- Блокиране/позволяване на достъп на потребители по IP
- Защита на папки с парола
- Забрана за листване на определени директории
- Hotlink защита за файлове
- Настройка на страницата, която да се отваря по подразбиране
- Настройка на часовата зона на сървъра
- Създаване и задаване на собствени страници за грешки
- MIME types, Cache control и други.
Пренасочване от един уеб адрес към друг:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(/address) [NC]
RewriteRule ^(.*) /to-address [L]
address – Това е уеб адреса, който ще се достъпва и ще активира пренасочването.
to-address – Адресът към който ще се извърши пренасочването.
Можете да зададете директория или определен файл за пренасочване, например:
RewriteCond %{REQUEST_URI} ^(/directory) [NC]
или
RewriteCond %{REQUEST_URI} ^(/file.php) [NC]
Пренасочване към определен адрес, когато сайта се достъпва от IP адреси различни от посочените:
RewriteEngine On
# ако не е IP адрес 1
RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx$
# ако не е IP адрес 2
RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx$
# пренасочване на заявките към директория subdir
# с изключение на заявки към посочената директория
RewriteRule !^subdir https://mysite.com/subdir/ [R=301,L]
От тези правила, в случай че не са ви необходими, можете да премахнете двата реда с IP адресите.
Пренасочване на файл към директория:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/file\.php$ [NC]
RewriteRule .* https://www.mysite.com/directory/ [R,L]
Със същите правила можете да пренасочите директория към определен файл, файл към файл или директория към директория, например:
RewriteCond %{REQUEST_URI} ^/directory$ [NC]
RewriteRule .* https://www.mysite.com/file.php [R,L]
След като извършите промени по .htaccess файла, може да е необходимо да изтриете кешираната информация в браузъра, за да видите промените.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut