htaccess Tutorial - Интродукция

Текстов файл с името .htaccess, може да бъде използван за контрол на поведението на web сървъра Apache за Вашият web site. Следващата секция на този .htaccess tutorial, се занимава с командите (наречени директиви), които могат да бъдат използвани.


Този файл конфигурира настройките на web сървъра на директория (на тази директория в която е разположен .htaccess файла) и поддиректориите към нея.

1. Създаване и upload на .htaccess файл

Като текстов/ASCII файл, Вие го създавате или модифицирате използувайки базов текстов редактор. Направете му upload, използувайки FTP, в директорията която сте избрали. Upload-а да е в ASCII mode.

Ако искате .htaccess файла да се приложи за целия сайт, upload-нете го във Вашата root web директория. Това е същата директория, която държи Вашата home page.

Забележете, че Вашия FTP software, няма да покаже въведение на .htaccess на server side. Файлове започващи с '.' се отчитат като 'hidden' файлове на Linux сървъри.

2. Моят .htaccess файл не работи

Убедете се, че текстовия Ви редактор, не е добавил разширение. При ъплоада се разбира, че .htaccess.txt не работи. Свалете .txt разширението в този пример.

Повечето FTP software, ще използуват коректни файлови права. В противен случай, задайте 644. Подържа за собственика read/write права и read only за останалите.

Ако Вашият .htaccess файл, има дори една грешка в него, може да предизвика генериране на error messages, когато се опитвате да видите Вашия уеб сайт.

В този случай, свалете .htaccess файла от Вашия web hosting acount, за да възстановите нещата обратно към normal. Бихте могли да ги превъзмогнете и с празен .htaccess файл.

.htaccess Tutorial - списък на директорията

Когато web browser е насочен към директория на Вашия web site, която не съдържа index.html файл в себе си, файловете в тази директория могат да бъдат изведени под формата на списък в уеб страница.

1. Enable/Disable списъка на директорията

За да може Вашият web server да изведе списък от файловете за дадена директория, използувайте долния ред във Вашия .htaccess.



Options +Indexes


За да имате вместо това върнат error (403) , използувайте този ред.



Options -Indexes




2. Стил на списъка

Може да бъде показан базов списък от файлове или 'екстра' списък включващ икони, file size, дата на модификация и други.



IndexOptions +FancyIndexing


Добавете към Вашия .htaccess файл, за да използувате 'екстра' стила.



IndexOptions -FancyIndexing


Използувайте горния ред, ако предпочитате повече базовия списък.



3. Игнорирани файлове

Да предположим, че имате директория с .jpg, .gif and .png image файлове. Искате само .png файловете да бъдат показани в списъка на директорията. Добавете този ред към Вашия .htaccess.



IndexIgnore *.gif *.jpg


Сега уеб сървъра игнорира .gif и .jpg файловете.



4. Модифициране на Index File

Може би не желаете списък с файловете, а вместо това да бъде показан определен файл. Бихте могли да upload-нете един index.html файл в тази директория. Има и друг начин.



DirectoryIndex myfile.html


Вместо списък с файловете, сега ще бъде показана уеб страницата myfile.html за тази директория и поддиректориите и.



.htaccess Tutorial - Error Messages

В случаите когато web server-а не може да изпълни заявката, ще изведе генерирано error съобщение.

Можете да работите и да манипулирате тези съобщения с .htaccess.

1. Custom Error Messages

ErrorDocument е използуван за тази цел, последвано от 3 цифров errorcode и действието за извършване.



ErrorDocument 404 /notfound.html


Този пример ще покаже web страницата notfound.html в случаите когато извиквания документ не е открит.

Ако свалите web страница от Вашия сайт и някой опита да я види, той ще види вместо това notfound.html.



ErrorDocument 404 http://www.other_site.com/notfound.html


Този ред препраща запитванията към URL, което сте задали.

Можете и да кажете на .htaccess да покаже текстово съобщение.



ErrorDocument 404 "No such document here


Тук, текста 'No such document here' е показан.

Заменете частите с червено в горните примери за да контролирате поведението на web server-а.

2. Други Error числа

Други използувани 3 цифрени кодове са показани долу.

401 : Authorization Required

Някой е опитал достъп в област защитена с парола, но не е въвел коректната user/pass информация.

403 : Forbidden

Тази персона е блокирана да заявява документа.

500 : Internal Server Error

Обикновено, това означава, че използуваният cgi script е повреден.



.htaccess Tutorial - Password Protection

Може да използувате username и password авторизация за да ограничите достъпа до директория и нейните поддиректории.

Когато някой опита достъп към такава директория, той вижда изкачащ прозорец, питащ за user name и password.

1. Създаване на .htaccess файл

Използувайте редовете долу за да активирате авторизацията.



AuthUserFile /home/username/.htpasswd
AuthGroupFile /dev/null
AuthName "Private Area"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>



Заменете username със Вашият user name. Първия ред казва на .htaccess, къде може да открие user/password файла.

Различни 'groups' могат да бъдат използувани. Този tutorial е за начинаещи и няма да определяме real group файл.

AuthName стойността определя стойността на Realm(царство).

Останалите редове определят типа на запитванията, които са ограничени и използувания метод на авторизация.

2. Създаване на usernames

Има няколко начина за създаване на .htpasswd файл, който .htaccess чете за да идентифицира валидността на user информацията.

Някои могат да използуват .htaccess tool.

Може да бъде направено и с използуване на Unix shell. Отворете SSH connection и въведете долната команда.



htpasswd -c .htpasswd username


Ще Ви бъде представено двукратно питане за въвеждане на парола за този потребител. -c флага кара htpasswd командата да създаде нов файл. Добавете юзери към съществуващ файл, както е показано долу.



htpasswd .htpasswd username


Заменете username с user name, за което желаете да има достъп до ограничената от .htaccess директория.



.htaccess Tutorial - пренасочване на сраници

Препращането се използува за да може посетителите извикали страница прекратила своето съществуване, да бъдат пренасочени към друга уеб страница.

1. Създаване на .htaccess файл

Да предположим, че сте свалили old.html и желаете да изпратите посетителите, които се интересуват от нея на уеб страницата new.html.



Redirect /old.html http://your_domain.html/new.html


Всичко е побрано в един ред.

Има и една допълнителна опция. От гледна точка на търсачките най-добрия начин.



Redirect permanent /old.html http://your_domain.html/new.html


Единствената разлика е генерираният error code, по време на пренасочване на заявката. Индикира, че заявения документ е преместен за добро.

2. Друго приложение

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



Redirect /old.pdf http://your_domain.html/new.pdf


Реда ще пренасочи запитването за old.pdf към new.pdf файла.



.htaccess Tutorial - протекция на Images

Много е възможно други да правят препратки към images на Вашия сайт, за да ги използуват на техния уеб сайт, форуми, ebay и др.

Това не е във Ваша изгода и може да увеличи трафика на Вашия акаунт.

1. Activate Protection

Добавете долните редове към Вашия .htaccess файл за да спрете хората от hotlinking към Ваши .gif и .jpg файлове.

Заменете your_domain.com с Вашия domain name.

Започва с включване на rewrite engine. След това, се проверява препратката (откъде идва заявката).

Ако не идва от Вашия domain name и заявката е за .gif or .jpg file, ще се изведе error message. Иначе images ще бъдат изобразени както обикновено.

Rewrite engine е много мощна и може да бъде използувана за много други цели.

2. Друго приложение

Този .htaccess трик, може да бъде използуван за протекция на други типове файлове, такива като .mp3, .ogg, .mpg и други.



Единствената промяна в този .htaccess файл е в последния ред. Въведете файловите разширения във скоби, но без да включвате точка (.). Разделете ги с (|).



.htaccess Tutorial - Блокиране на IP Address

Възможно е да има случаи в които да желаете отказ на достъп за посетители (роботи или хора) на Вашия web site.

1. Basic .htaccess файл



order allow,deny
deny from 127.0.0.1
allow from all


Горния код ще откаже всички GET и POST запитвания(заявки) направени от IP address 127.0.0.1 и вместо това ще бъде показано error message.

2. Други опции

Блокиране на група IP адреси, под формата на списък ред по ред.



order allow,deny
deny from 127.0.0.1
deny from 127.0.0.2
deny from 127.0.0.3
allow from all


Може да блокирате цял IP block/range. Тук няма да зададем последния октет в .htaccess файла.



deny from 127.0.0



Реда отказва достъп на всеки юзер с адрес в диапазона от 127.0.0.0 до 127.0.0.255.

Вместо използуването на цифрови адреси, могат да се въведат domain names (и subdomain names) за забрана на юзери.



deny from isp_name.com



It bans users with a remote hostname ending in isp_name.com. По този начин се спират всички юзери свързани към интернет през isp_name.com , от възможността да видят Вашия сайт.

Използувайки .htaccess за блокитане на цял диапазон или име може да доведе до "затваряне в затвора на невинни" . Използувай внимателно!

Урока е изготвен от www.transcode.org

/ Трябва да сте регистриран за да напишете коментар /
От: apapazov
2:23 17-04-2010
като кача файла на сървъра ми излиза грешка 500
освен това ми се иска името на съответната страница да излиза на кирилица
1