• Дигитални аксесоари
  • сървър
  • Дигитален живот
  • Политика за поверителност
  • Свържете се с нас
  1. Home
  2. Article
  3. Htaccess - HTTPD - Apache Software Foundation

Htaccess - HTTPD - Apache Software Foundation

Rsdaa 12/11/2021 1822

В МОМЕНТА ТОВА Е СТРАНИЦА САМО ЗА SCRTCCHPAD И НЕ ТРЯБВА ДА СЕ ПРЕМЕСТВА ОТТУК

Този документ трябва да се използва за изготвяне на нова версия на официалните httpd документи с инструкции

Моля, прегледайте/изтрийте http://wiki.apache.org/general/htaccessonce, след като тази страница премине от ScratchPad

Не се препоръчва използването на .htaccess файлове, тъй като те могат да имат вредно въздействие върху производителността на сървъра. Използвайте ги само когато е необходимо.

Каква е целта на .htaccess файловете?

Целта на .htaccess файловете е да предоставят средство за конфигуриране на Apache за потребители, които не могат да променят основния конфигурационен файл (обикновено httpd.conf; вижте DistrosDefaultLayout ).

.htaccess митове

.htaccess файловете означават защита с парола

Не наистина; Файловете .htaccess могат да се използват за осигуряване на защита с парола по същия начин, по който основните конфигурационни файлове могат да се използват за осигуряване на защита с парола; няма нищо специално за .htaccess за тази цел.

Трябва да се нарича .htaccess

Не, можете да дефинирате името му чрез директивата AccessFileName. Това обаче не е препоръчителна практика, особено ако ще предоставите споделен хостинг или нещо подобно, където неинформираните хора ще имат уеб пространство и очакват да се поддържат .htaccess файлове.

Кога трябва и кога не трябва да използвам .htaccess файлове?

Разрешаването на .htaccess файлове ще накара Apache да ги търси при всеки достъп до вашия сървър. Тъй като родителските директории също се търсят, това ще отнема известно (малко) време и може да повлияе на производителността на вашия сървър. За по-добро обяснение вижте HtaccessGotchas. (преместете това обяснение тук?)

Трябва да използва

.htaccess файловете наистина трябва да се използват само когато не можете директно да редактирате основните конфигурационни файлове.

Не трябва да използвате

Не трябва да използвате .htaccess, когато:

имате достъп да редактирате конфигурационния файл(ове) на главния сървър. производителността на сървъра е от значение за вас. ненадеждни хора хостват уебсайтове на сървъра. (Вижте Как мога да попреча на потребителите да използват .htaccess? и Как мога да контролирам какво могат потребителите правя ли с .htaccess файлове? (Как да се свържа със заглавия на този документ????) )

Как мога да създам нов .htaccess файл?

Използвайте любимия си редактор, за да създадете .htaccess файл в папката, където искате да влезе в сила. Уверете се, че файлът може да бъде прочетен от UID на Apache.

Какво мога да направя с моя .htaccess файл?

.htaccess файловете са контейнери за подмножество от директиви на Apache. .htaccess файловете се прилагат към директорията, в която са поставени, и всички нейни наследници. Т.е. файл .htaccess в /path/to/site, ще се прилага към тази директория, но и към /path/to/site/images!

Това означава, че можете да мислите за файловете .htaccess като динамично добавяне на следното към основната конфигурация на Apache:

# Съдържанието на .htaccess отива тук

Трябва да поставите файла .htaccess в директорията, където искате да влезе в сила. Например, ако искате да използвате файл .htaccess за принудително удостоверяване за http://www.example. com/admin и вашият DocumentRoot е настроен на /var/www/html/www.example.com, бихте поставили файла .htaccess в /var/www/html/www.example.com/admin.

И така, какво мога да използвам?

Можете да поставите във файл .htaccess всяка директива на Apache, която администраторът реши да активира, от подмножеството директиви, които Apache поддържа във файлове .htaccess. Това работи, като зададете правилно директивата AllowOverride.

За да проверите какво е активирал администраторът, свържете се с него или с вашия хостинг доставчик, или просто опитайте.

За да проверите какви директиви поддържа Apache във файловете .htaccess, потърсете директивата, която искате да използвате в документацията, и проверете секцията Контекст:. Ако пише .htaccess, тогава тази директива е валидна в .htaccess, освен ако не е била деактивирана от администратора.

Пример. Да предположим, че наистина трябва да използвате .htaccess файлове и че искате да защитите с парола местоположението, за което говорихме по-горе, намиращо се на /var/www/html/www.example.com/admin. .htaccess файл за тази задача трябва да изглежда така:

/var/www/html/www.example.com/admin/.htaccess

AuthType BasicAuthName "Изисква се удостоверяване"AuthUserFile /etc/htpasswds/.htpasswd.example.comRequire valid-userOrder deny,allow

Как мога да контролирам какво могат да правят потребителите с .htaccess файлове?

Чрез настройка на AllowOverride в правилната директива. Вижте документацията на AllowOverride.

Но аз наистина не обичам да имам всички директиви в един огромен конфигурационен файл и .htaccess файловете ми помагат с това!

Това не е валидна причина, тъй като можете да използвате Include.

(Предлагам да преместите тази част в нейния собствен раздел) Можете да използвате директивата Include, за да облекчите това, ако наистина ви притеснява! Да видим как.

Предполагаме, че не харесвате огромни конфигурационни файлове и че например искате да предоставите удостоверяване с парола за всички ваши виртуални хостове. Можете да поставите .htaccess в корена на всеки виртуален хост или да създадете поддиректория в конфигурационната директория на Apache, съдържаща конфигурационен файл за всеки vhost с правилните директиви – като /usr/local/apache2/conf/vhosts-protection . След това в httpd.conf можете да пишете

Включете /usr/local/apache2/conf/vhosts-protection/*.conf

/usr/local/apache2/conf/vhosts-protection/www.example.com.conf

AuthType BasicAuthName "Изисква се удостоверяване"#Променете следното на един файл за всички домейни или на различна схема за именуване, ако харесватеAuthUserFile /etc/htpasswds/.htpasswd.example1.com Изискване valid-userOrder allow,denyAllow from all

И така нататък за останалите ви виртуални хостове. (край на предложението)

Как мога да попреча на потребителите да използват .htaccess?

В конфигурацията на главния сървър поставете следното във вашия блок от най-високо ниво.Напр.

# ... other directivesAllowOverride None# ... other directives

Запомнете, че приложението на ablock е рекурсивно. Така че, ако го зададете на най-високо ниво, ще се прилага за всички поддиректории, освен ако изричното не е обърнато чрез друга директива.

Как да отстраня проблеми с моите .htaccess файлове?

Опитайте да поставите боклук в тях. Ако се чете, ще получите вътрешна грешка на сървъра при достъп до този URL адрес. Ако се чете, продължете към HtaccessGotchas, за да намерите повече за това, което може да не е наред.


PREV: Сървърът е недостъпен - Настолни компютри и лаптопи - Форум на Plex

NEXT: Проблеми със сървъра, които ви развалят (и решения!) | Блог на Udemy

Popular Articles

Hot Articles

Navigation Lists

Back to Top