Hacks na vijisehemu muhimu vya .htaccess. Kitabu cha kumbukumbu

Siku hizi, seva ya wavuti ya Apache hutumiwa kupanga kazi ya tovuti nyingi kwenye mtandao. Inachelewa kidogo katika utendaji, lakini ni rahisi sana kuanzisha na ina idadi kubwa ya vipengele.

Seva ya wavuti ya Apache inaweza kusanidiwa sio tu kwenye faili kuu ya usanidi, lakini pia kupitia faili za .htaccess. Faili hizi zimewekwa kwenye folda maalum na huambia seva ya wavuti jinsi ya kuishi katika folda hiyo na saraka zake ndogo.

Kuweka faili ya htaccess ni sawa na kusanidi faili kuu ya usanidi wa Apache. Lakini ni tofauti kidogo. Ukiwa na faili hii unaweza kusanidi uelekezaji upya, mabadiliko ya URL ya ndani, haki za ufikiaji, uidhinishaji wa nenosiri na mengi zaidi. Katika makala ya leo tutaangalia jinsi ya kusanidi vizuri htaccess kwa seva yako.

Tayari tumeanza mada katika moja ya nakala zilizopita, lakini leo tutasasisha habari kidogo na tutaangalia usanidi wa htaccess kwa undani zaidi.

Maagizo yote kutoka kwa faili ya htaccess yanatekelezwa sawa na kama yamewekwa kwenye faili ya usanidi wa kimataifa, ndani ya maagizo tu. . Hii haikuruhusu kubadilisha mipangilio ya kimataifa, lakini unaweza kurekebisha vyema tabia ya programu katika folda ambazo una haki za kuzifikia.

Syntax ya jumla ya maagizo ni rahisi sana, ni jozi za amri na chaguzi zao kutengwa na nafasi, kwa mfano:

Amri parameta1 parameta2 bendera

Kuna amri nyingi zenyewe, na tutaziangalia kwa kutumia mifano ya matendo wanayofanya. Mbali na amri wenyewe, miundo iliyopangwa inaweza kutumika hapa, kwa mfano, kuamsha moduli au kuangalia upatikanaji wa moduli fulani. Sasa hebu tusogee karibu na jinsi ya kusanidi vizuri htaccess. Hebu tuanze na hatua rahisi zaidi.

Kuweka ufikiaji wa htaccess

Mara nyingi htaccess hutumiwa kudhibiti ufikiaji wa folda. Amri tatu hutumiwa kudhibiti ufikiaji:

  • agizo- utaratibu;
  • kukataa- kupiga marufuku;
  • kuruhusu-ruhusu.

Kwanza, kwa kutumia chaguo la kuagiza, unahitaji kuonyesha kwa utaratibu gani maagizo yatatekelezwa; amri hii tu ina maana, na haijalishi ni kwa utaratibu gani iko kwenye faili.

Kisha, kwa kutumia amri ya kuruhusu au kukataa, tunaruhusu au kukataa upatikanaji wa folda kutoka kwa anwani fulani. Kwa mfano, kuzima kila kitu unachohitaji kuongeza kwa htaccess:

Kataa agizo, ruhusu
Kataa kutoka kwa wote

Lakini pia tunaweza kuruhusu ufikiaji kutoka kwa mtandao wa ndani pekee:

Kataa agizo, ruhusu
Kataa kutoka kwa wote
Ruhusu 192.168.0.

Ikiwa kukataa, kuruhusu imeelezwa, basi hundi itafanywa kwa utaratibu huo. Kwanza, yote yanakataa maagizo, kisha yote yanaruhusu maagizo, na ikiwa hakuna masharti yanayolingana, basi ombi linarukwa.Kwa kuruhusu, kukataa, ombi kama hilo litakataliwa kwa chaguo-msingi. Kwa mfano, mfano uliopita unaweza kuandikwa kama hii:

Ruhusu agizo, kataa
Ruhusu 192.168.0.

Marekebisho ya URL katika htaccess

Matumizi ya kawaida ya htaccess ni kwa urekebishaji wa URL wakati wa utekelezaji au uelekezaji upya. Mod_rewrite moduli inawajibika kwa utendakazi huu na kwa kawaida huwashwa katika usanidi mwingi wa Apache.

Marekebisho ya URL katika htacces hufanywa kwa kutumia maagizo matatu, haya ni RewriteBase, ambayo hubainisha kiambishi awali cha anwani, Andika Upya hundi ya kufuata, na RewriteRule- hubadilisha URL kulingana na usemi wa kawaida ikiwa sheria zote zinazolingana zinalingana.

Kwanza unahitaji kuwezesha Mod_Rewrite, ikiwa moduli bado haijatumika:

RewriteEngine imewashwa

Tunaonyesha kwamba mzizi unapaswa kutumika kama kiambishi awali cha URL:

Na tutabadilisha kiotomatiki URL kutoka index.html hadi index.php, kumbuka kuwa URL asili ndio njia ya faili iliyoombwa inayohusiana na eneo la faili ya htaccess:

RewriteRule index.html/index.php

Kwa uingizwaji bora zaidi, unaweza kutumia misemo ya kawaida; zinajumuisha herufi maalum na anuwai na herufi na nambari za kawaida. Wacha tuangalie wahusika wakuu maalum:

  • ^ - mwanzo wa mstari;
  • $ - mwisho wa mstari;
  • . - ishara yoyote;
  • * - idadi yoyote ya alama yoyote;
  • ? - ishara moja maalum;
  • - mlolongo wa wahusika, kwa mfano, kutoka 0 hadi 9;
  • | - ishara au, ama kundi moja au lingine limechaguliwa;
  • () - kutumika kuchagua vikundi vya wahusika.

Katika maneno ya kawaida ya htaccess unaweza pia kutumia vijiwezo na data iliyopatikana kutoka kwa vichwa vya ombi, kwa mfano:

  • %(HTTP_USER_AGENT)- uwanja wa Wakala wa Mtumiaji, ambao hupitishwa na kivinjari cha mtumiaji;
  • %(REMOTE_ADDR)- anwani ya IP ya mtumiaji;
  • %(REQUEST_URI)- aliomba URI;
  • %(QUERY_STRING)- vigezo vya swali baada ya ishara ?

Hizi ni vigezo vinavyotumiwa zaidi, lakini kuna vingine vingi, vingine unaweza kupata katika nyaraka rasmi. Maneno ya kawaida hufungua uwezekano mkubwa zaidi, kwa mfano, unaweza kuchukua nafasi ya html na php katika kurasa zote:

RewriteEngine On;
RewriteBase/;

Maagizo ya RewriteCond yanatoa unyumbufu zaidi; unaweza kuchagua ni anwani zipi za kutumia marekebisho, kwa mfano, tutafafanua upya data kwa toleo tu na www:

RewriteBase/;
RewriteCond % (HTTP_HOST) ^www.site.ru$
RewriteRule ^(.*)\.html$1.php

Kwa njia hii unaweza kufanya mabadiliko yoyote kwenye URL zako bila kuelekeza kwingine popote. Lakini ijayo tutaangalia jinsi ya kufanya uelekezaji upya.

Kuweka uelekezaji upya katika htaccess

Kuweka uelekezaji upya wa htaccess kunafanywa kwa njia sawa, kwa kutumia moduli sawa ya mod_rewrite, sasa tu badala ya kurekebisha url tunabainisha bendera yenye kitendo tunachotaka na kuelekeza upya msimbo.

Uelekezaji upya rahisi zaidi unaweza kufanywa bila mod_rewrite, kwa kutumia laini ifuatayo:

Elekeza upya 301 /index.html http://www.site.ru/index.php

Lakini kwa kawaida unahitaji kuelekezwa kwingine na athari pana. Kila kitu kinafanana sana, ni sasa tu tunatumia bendera kupuuza kesi, [L] kusimamisha kuchakata na [R] kuelekeza kwingine. Kwa mfano, kuelekeza upya htaccess kutoka kwa toleo lisilo la www hadi kwa kikoa na www:

RewriteCond %(HTTP_HOST) ^tovuti\.ru$
RewriteRule ^(.*)$ http://www.site.ru/$1

Thamani R=301 inamaanisha msimbo wa kuelekeza kwingine ambao utarejeshwa kwa mteja; unaweza kutumia 301, 302, n.k. Uelekezaji upya wa htaccess kutoka kwa kikoa cha www hadi kwa kikoa bila kiambishi awali utaonekana kama hii:

RewriteCond %(HTTP_HOST) ^www.site\.ru$
RewriteRule ^(.*)$ http://site.ru/$1

Unaweza kuelekeza upya kwa njia ile ile:

RewriteRule ^old_address /new_address/$1

Elekeza upya kutoka toleo la http hadi https:

Andika Upya %(SERVER_PORT) ^80$
RewriteCond %(HTTP) =washa
RewriteRule ^(.*)$ https://site.ru/$1

Kuweka kurasa za makosa katika htaccess

Ikiwa makosa yoyote yanatokea wakati wa kuunda ukurasa, seva ya wavuti hutoa ujumbe mfupi na msimbo wa makosa. Lakini itakuwa wazi zaidi kwa watumiaji nini kinaendelea ikiwa utafanya ukurasa tofauti kwa kila kosa na picha na maelezo kamili.

Kuweka htaccess kwa kipengee hiki itakuwa muhimu sana. Unaweza kutumia ErrorDocument maelekezo. Ukitumia, unaweza kuweka kurasa za HTML kwa makosa 4xx na 5xx. Kwa mfano, kwa 404:

ErrorDocument 404 http://site.ru/error/404.shtml
ErrorDocument 403 http://site.ru/error/403.shtml
ErrorDocument 401 http://site.ru/error/401.shtml
ErrorDocument 500 http://site.ru/error/500.shtml

Kuhifadhi katika htaccess

Kivinjari hukuruhusu kuhifadhi picha, faili za hati, mitindo na faili zingine za media kwenye kashe yake kwa muda fulani. Muda wa maisha ya kache umewekwa na seva ya wavuti kwa kutumia vichwa maalum. Wanaweza kusanidiwa kwa kutumia moduli inayoisha muda wake.

Kwanza, washa moduli na uweke kipindi cha kuweka akiba chaguo-msingi:

Inaisha Muda Ukiwa Umewashwa
InaishaChaguo-msingi "ufikiaji pamoja na mwezi 1"

Sasa tunaweza kusanidi kache kwa kila aina ya faili ya mime:

ExpiresByType text/html "ufikiaji pamoja na mwezi 1 siku 15 masaa 2"
Muda wake wa matumizi ya ByType picha/gif "ufikiaji pamoja na saa 5 dakika 3"
ExpiresByType image/x-ikoni "access plus 2592000 seconds"

Katika mstari wa kwanza tunabainisha kuwa kurasa za html zinapaswa kuchukuliwa kuwa halali kwa mwezi mmoja, siku 15 na saa mbili tangu wakati zinapakiwa. Aina zifuatazo za faili zinapatikana:

  • picha/x-ikoni;
  • picha/jpeg;
  • picha/png;
  • picha/gif;
  • maombi/x-shockwave-flash;
  • maandishi/css;
  • maandishi/javascript;
  • programu/javascript;
  • application/x-javascript;
  • maandishi/html;
  • programu/xhtml+xml;

Ili kuhakikisha kuwa ujenzi huu hautasababisha makosa, funga kwa ikiwa:


Ukandamizaji wa faili katika htaccess

Kwa compression katika Apache, unaweza kutumia deflate moduli. Hapa inatosha kuorodhesha tu aina za mime za faili ambazo zinahitaji kushinikizwa. Kwa mfano:

AddOutputFilterByType DEFLATE text/html text/text text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript/x-javascript

Unaweza pia kuambatanisha if taarifa ili kuangalia ikiwa moduli inatumika:


hitimisho

Katika makala hii, tuliangalia jinsi ya kusanidi faili ya htaccess kwa uendeshaji sahihi wa tovuti yako. Vitendo vyote sio ngumu sana kutekeleza. Inatosha kunakili mistari michache na kusahihisha ili kukidhi mahitaji yako. Ikiwa una maswali yoyote, uliza kwenye maoni!

Kumaliza, ninatoa video yenye muhtasari wa faili ya usanidi wa Apache:

Tayari nimeona baadhi ya mapishi yaliyotolewa kwa Habre, lakini kwa kutawanyika na sio yote yameorodheshwa hapa chini.

Kila msanidi wa wavuti anajua kuhusu madhumuni ya faili ya .htaccess. Katika kiwango cha msingi, hukuruhusu kudhibiti ufikiaji wa saraka za tovuti. Lakini kwa kuongeza vipande kadhaa vya ziada vya nambari kwake, unaweza kufanya vitu vingine vingi vya kupendeza nayo.

Kwa hiyo, mifano muhimu ya matumizi. htaccess:

1. Kudhibiti ufikiaji wa faili na saraka

Ulinzi wa nenosiri ni jambo moja, lakini wakati mwingine unaweza kutaka kuzuia kabisa ufikiaji wa watumiaji kwa faili au folda fulani. Kawaida hii inarejelea folda za mfumo, kama vile kujumuisha, ambazo programu zinapaswa kupata, lakini sio watumiaji.

Ili kufanya hivyo, weka msimbo huu kwenye faili. htaccess na uihifadhi kwenye saraka ambayo unazuia ufikiaji:

Kataa kutoka kwa wote

Hata hivyo, kumbuka kwamba ufikiaji utazuiwa kwa watumiaji wote, ikiwa ni pamoja na wewe. Unaweza kufungua ufikiaji kwa mtumiaji maalum kwa kusajili anwani yake ya IP. Hapa kuna nambari utakayohitaji kwa hili:

Agizo limekataliwa, ruhusu kukataliwa kutoka kwa kila ruhusu kutoka xxx.xxx.xxx.xxx

wapi xx. xxx. xxx. xxx ni IP yako. Ili kuweka safu zinazoruhusiwa za anwani za IP, unaweza kubadilisha nambari tatu za mwisho. Kwa mfano, kwa kuandika "0/12" badala yake, utabainisha anuwai ya anwani za IP kwa mtandao mmoja, ambayo itakuokoa kutoka kwa kuingiza anwani zote za IP zinazoruhusiwa kwenye orodha kando.

Ikiwa unataka kuzuia ufikiaji wa faili maalum, pamoja na wewe mwenyewe. htaccess, tumia snippet ya nambari ifuatayo:

ili kuruhusu, kukataa kutoka kwa wote

Ikiwa unataka kubainisha anwani mahususi za IP ambazo hazipaswi kufikiwa, ziorodheshe kwa kutumia allow from.

Ikiwa unataka kuzuia ufikiaji wa aina fulani ya faili, tumia nambari hii:

Agiza Ruhusu, Kataa kutoka kwa wote

2. Marufuku ya kutazama saraka

Ili kuzuia utazamaji wa saraka za tovuti, ongeza msimbo ufuatao kwa .htaccess:

Chaguzi Zote -Fahasi

Ikiwa kwa sababu fulani unataka kuruhusu kuvinjari kwa saraka zote, tumia nambari:

Chaguo +Fahasi Zote

3. Ongeza kasi ya saa za upakiaji kwa kubana faili

Unaweza kubana faili za aina yoyote. Kwa mfano, ili kubana faili za HTML, ongeza nambari:

AddOutputFilterByType DEFLATE text/html

Ili kubana faili za maandishi tumia:

AddOutputFilterByType DEFLATE maandishi/wazi

Unaweza pia kukandamiza JavaScript au kuwezesha ukandamizaji wa aina zingine za faili kwa amri:

AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml

Zaidi ya hayo, unaweza kubana faili zako zote za JavaScript, HTML na CSS kwa kutumia GZIP. Ili kufanya hivyo, tumia nambari ifuatayo:

mod_gzip_on Ndiyo mod_gzip_dechunk Ndiyo mod_gzip_item_include faili \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text\.* mod_gzipziclude_itepe_explorex_apzip_item. mimi ^ picha\.* mod_gzip_item_tenga rspheader ^Usimbaji-Yaliyomo:.*gzip.*

4. Kulinda tovuti kutoka kwa kuingiza picha kutoka kwa rasilimali nyingine

Ikiwa ungependa kuzuia kuongeza viungo kwa picha kutoka kwa rasilimali za watu wengine, ongeza msimbo ufuatao kwenye faili ya .htaccess:

RewriteEngine on RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http(s)?://(www\.)?yourdomain.com RewriteRule \.(jpg|jpeg|png|gif)$ -

Usisahau kubadilisha yourdomain.com na kuweka jina la kikoa chako.

5. Kuzuia wageni wanaotoka kwenye kikoa maalum

Ikiwa hutaki kuona watumiaji kutoka kwa kikoa maalum kwenye tovuti yako, basi unaweza kukataa ufikiaji wao. Kwa mfano, unaweza kuelekeza watumiaji upya kutoka kwa rasilimali zisizohitajika (tovuti za watu wazima, tovuti za wadukuzi, n.k.) hadi kwenye ukurasa wa 403 Haramu. Ili kufanya hivyo, unahitaji kuwezesha mod_rewrite, ingawa kawaida huwashwa na chaguo-msingi. Ongeza msimbo ufuatao kwa .htaccess:

RewriteEngine on RewriteCond %(HTTP_REFERER) bannedurl1.com RewriteCond %(HTTP_REFERER) bannedurl2.com RewriteRule .* - [F]

Unahitaji kubadilisha bannedurl1.com na bannedurl2.com na vikoa unavyotaka kuorodhesha. Unaweza kutumia bendera kuashiria kuwa jina la kikoa lililowekwa halijali. Alama ya [F] inaonyesha aina ya kitendo, katika hali hii ikionyesha hitilafu 403 Iliyokatazwa. Ikiwa unataka kuzuia tovuti kadhaa, tumia bendera kwa kila kikoa, lakini ikiwa unataka kuzuia matumizi ya kikoa kimoja, tumia bendera pekee.

6. Kuzuia maombi kutoka kwa vivinjari fulani

Ikiwa faili zako za kumbukumbu zina rekodi za kutembelea vivinjari maalum (hii inaweza kuwa roboti au buibui kuiga kivinjari), unaweza kuwanyima ufikiaji wa tovuti yako kwa kuongeza mistari michache. htaccess:

RewriteEngine On RewriteBase / SetEnvIfNoCase Referer "^$" bad_user SetEnvIfNoCase User-Agent "^badbot1" bad_user SetEnvIfNoCase User-Agent "^badbot2" bad_user SetEnvIfNoCase bad_user-Agent3

Badilisha badbot1, badbot1, n.k. kwa majina ya roboti kutoka kwenye kumbukumbu yako. Hii itazuia programu za wahusika wengine kufikia tovuti yako.

7. Uhifadhi wa faili

Kuhifadhi faili ni njia nyingine ya kufanya tovuti yako ipakie haraka. Hivi ndivyo unahitaji kuweka .htaccess:

Kichwa kimeweka Cache-Control "max-age=2592000"

Unaweza kuongeza aina zaidi za faili (au kuondoa baadhi) kwenye orodha ya faili iliyoorodheshwa katika mfano huu. Unaweza pia kubainisha urefu wa muda ambao faili huhifadhiwa kwenye akiba (kwa sekunde) kwa kutumia kigezo cha umri wa juu zaidi.

8. Lemaza caching kwa aina tofauti za faili

Ikiwa hutaki kuhifadhi aina fulani za faili, unaweza kuziacha nje ya orodha. Walakini, wakati mwingine faili zinaweza kuhifadhiwa kwenye kashe hata bila kuorodheshwa wazi, kwa hali ambayo unaweza kuzima uhifadhi wao mmoja mmoja. Hitaji la kawaida la kuzima kache ni faili zinazobadilika, kama vile hati. Mfano wa nambari inayohitajika kwa hili:

Kijajuu batilisha Cache-Control

Taja tu aina za faili ambazo ungependa kuzima uhifadhi.

9. Pitisha kidirisha cha upakuaji

Kwa chaguo-msingi, unapojaribu kupakua faili kutoka kwa seva ya wavuti, mazungumzo yanaonyeshwa ambayo yanakuuliza ikiwa unataka kuhifadhi faili au kuifungua. Mazungumzo haya yanaudhi haswa wakati wa kupakua media kubwa au faili za PDF. Ikiwa faili ambazo umepakia kwenye seva zimekusudiwa kupakuliwa pekee, unaweza kurahisisha maisha ya watumiaji kwa kufanya upakuaji wa kitendo chaguomsingi. Ongeza ndani. htaccess ni kama ifuatavyo:

Programu ya AddType/octet-stream .pdf AddType application/octet-stream .zip AddType application/octet-stream .mp3

10. Kubadilisha jina la faili ya .htaccess

Ikiwa kwa sababu fulani unataka kubadilisha jina la faili ya .htaccess, basi unaweza kufanya hivyo. Kinadharia, kubadilisha jina la faili ya .htaccess haipaswi kusababisha matatizo na programu zinazoendesha kwenye seva yako, lakini ikiwa unaona hitilafu za uandishi zinazoonekana baada ya kubadilisha faili, basi uipe jina tena.

AccessFileName htac.cess

Zaidi ya hayo, maingizo yote yanayotaja faili ya .htaccess lazima yasasishwe, vinginevyo makosa mengi yatatokea.

11. Kubadilisha ukurasa wa nyumbani wa tovuti

Ikiwa ungependa kuweka ukurasa wa nyumbani usio wa kawaida (index.html, index.php, index.htm, n.k.), ongeza msimbo ufuatao kwenye faili yako ya .htaccess:

DirectoryIndex mypage.html

Badilisha mypage.html na URL ya ukurasa unaotaka kutumia kama ukurasa wako wa nyumbani.

12. Elekeza upya kwa muunganisho salama wa HTTPS

Ikiwa unatumia HTTPS na unataka kuelekeza watumiaji upya ili kulinda kurasa kwenye tovuti yako, ongeza mistari ifuatayo kwenye faili yako ya .htaccess:

RewriteEngine On RewriteCond %(HTTPS) !kwenye Kanuni ya Kuandika Upya (.*) https://%(HTTP_HOST)%(REQUEST_URI)

13. Kupunguza ukubwa wa juu wa faili zilizopakiwa katika PHP, ukubwa wa juu wa data iliyohamishwa, muda wa juu wa utekelezaji wa hati, nk.

Htaccess hukuruhusu kuweka maadili kadhaa ambayo yanaathiri moja kwa moja utendakazi wa programu za PHP. Kwa mfano, ikiwa unataka kuweka kikomo juu ya saizi ya faili zilizopakiwa katika PHP, ili usifunge mwenyeji wako na faili kubwa:

Php_value upload_max_filesize 15M

Unaweza kuweka thamani yoyote, kwa mfano ukubwa wa faili ni mdogo kwa 15M (MB). Kwa kuongeza, unaweza kupunguza ukubwa wa juu wa data iliyohamishwa wakati wa kupakia kwenye PHP:

Php_value post_max_size 10M

Unaweza kubadilisha 10M kwa thamani yoyote unayohitaji. Ikiwa hauitaji hati kufanya kazi kila wakati, unaweza kupunguza wakati wao wa utekelezaji na mstari:

Php_value max_execution_time 240

240 - wakati wa utekelezaji (kwa sekunde) baada ya hapo hati itasimamishwa, unaweza kubadilisha thamani hii kwa nyingine yoyote. Mwishowe, ikiwa unataka kuweka kikomo wakati wa uchambuzi wa hati kwenye data mbichi, tumia nambari ifuatayo:

Php_value max_input_time 180

Weka badala ya 180 kwa wakati wowote unaohitaji (kwa sekunde).

14. Kuficha aina za faili

Wakati mwingine hutaki watumiaji kujua ni aina gani za faili kwenye tovuti yako. Njia moja ya kuficha habari hii ni kufanya faili zako zote zionekane kama faili za HTML au PHP:

Utumizi wa ForceType/x-httpd-php ForceType application/x-httpd-php

Na hii ni sehemu tu ya kile .htaccess inaweza kufanya, lakini kwa ujumla inakuwezesha kufanya mengi zaidi. Kwa mfano, unaweza kuweka kurasa za tovuti yako kutafsiri kiotomatiki, kuweka saa za eneo la seva, kuondoa WWW kutoka kwa URL, au kutumia mionekano ya saraka ya dhana, n.k. Lakini kwa hali yoyote, kabla ya kuanza majaribio na faili ya .htaccess, daima uhifadhi nakala ya nakala ya awali ya .htaccess ili matatizo yakitokea, unaweza kurejesha tovuti haraka.

Htaccess (iliyo na dot mwanzoni mwa jina) ni faili ambayo inafanya uwezekano wa kusanidi uendeshaji wa seva katika saraka tofauti (folda), bila kutoa ufikiaji wa faili kuu ya usanidi. Kwa mfano, weka haki za upatikanaji wa faili kwenye saraka, ubadilishe majina ya faili za index, ushughulikia kwa kujitegemea makosa ya Apache, uelekeze wageni kwenye kurasa maalum za makosa.

Kama unavyojua, maagizo ya usanidi wa seva ya Apache yanapatikana katika faili ya httpd.conf. Lakini hutakuwa na haki za kufikia faili hii kila wakati. Kwa mfano, ikiwa unatumia seva ya kawaida kwa mwenyeji, wakati seva moja ya Apache inatumikia tovuti nyingi, basi, kwa kawaida, hakuna mtu atakayekuwezesha kubadilisha usanidi wake. Lakini, hata hivyo, unaweza kusanidi seva katika saraka zako mwenyewe. Na unaweza kufanya hivyo kwa kutumia faili za .htaccess.

Faili ya .htaccess inaweza kuwekwa kwenye saraka yoyote. Maagizo ya faili hii huathiri faili zote katika saraka ya sasa na saraka zake zote ndogo (isipokuwa maagizo haya yamebatilishwa na maagizo ya faili za msingi za .htaccess).

Mabadiliko yaliyofanywa kwenye faili za .htaccess yanaanza kutumika mara moja na hayahitaji kuwashwa upya kwa seva, tofauti na mabadiliko yaliyofanywa kwenye faili kuu ya usanidi ya httpd.conf.

httpd.conf mipangilio inayoruhusu matumizi ya faili za .htaccess

Ili faili hizi za .htaccess zitumike, mipangilio inayofaa katika faili kuu ya usanidi inahitajika. Faili ya httpd.conf lazima iwe na maagizo ambayo yataruhusu faili ya .htaccess kubatilisha usanidi wa seva ya wavuti kwenye saraka. Maagizo haya yanaitwa AllowOverride. Inaweza kusanikishwa kwa seva nzima (duniani) na kwa saraka tofauti.

Maagizo ya AllowOverride yanaweza kujumuisha moja au mchanganyiko wa maagizo yafuatayo: Yote, Hakuna, AuthConfig, FileInfo, Indexes, Limit, Options.

Ili kutoa maagizo ya haki za juu zaidi za faili za .htaccess, unapaswa kuweka yafuatayo katika httpd.conf:

Ruhusu Batilisha Zote

Kumbuka

Ikiwa unataka, jina la faili ya usanidi linaweza kubadilishwa, na kwa mfano, usiite .htaccess, lakini access.conf. Jina la faili hii limebainishwa na maelekezo ya AccessFileName katika faili ya httpd.conf. Lakini bado inashauriwa kutofanya hivi.

Syntax.htaccess

Kabla ya kuangalia mifano, hebu tuangalie syntax ya maagizo katika faili za .htaccess.

  • Njia za faili na saraka lazima zibainishwe kutoka kwa mzizi wa seva, kwa mfano, /pub/home/server1/html/

Ikiwa hujui njia kutoka kwa mzizi wa seva, unaweza kuipata kwa kuuliza msimamizi wa seva, au unaweza kuitafuta mwenyewe kwa kuendesha kazi ya PHP phpinfo() kwenye tovuti. Itaonyesha usanidi wa PHP katika jedwali za zambarau. Ndani yao unahitaji kupata kutofautisha kwa doc_root na uangalie thamani yake - hii itakuwa njia kutoka kwa mzizi wa seva hadi saraka yako kuu.

  • Majina ya vikoa lazima yajumuishe itifaki, kwa mfano:

Mifano ya kutumia .htaccess

Uelekezaji upya wa kimataifa (elekeza kwingine) kwa anwani nyingine:

Elekeza upya / http://www.newsite.ru

Kuelekeza kwingine (elekeza kwingine) tu wakati wa kuomba kurasa fulani:

Elekeza upya /kampuni http://www.newsite.com/newcompany
elekeza /forum http://www.newsite.com/newforum

Unapoomba kurasa kutoka kwa saraka za kampuni na mijadala, utaelekezwa kwenye anwani mpya.

Elekeza (elekeza kwingine) wageni pekee walio na anwani maalum ya IP:

SetEnvIf REMOTE_ADDR 192.145.121.1 REDIR="redir"
RewriteCond %(REDIR) redir
RewriteRule ^/$ /only_for_you.html

Ikiwa mgeni ana anwani ya IP ya 192.145.121.1, basi ukurasa wa pekee_kwa_wewe.html utafunguliwa kwake.

Kubadilisha jina la ukurasa wa index:

DirectoryIndex index.html index.php index.shtml

Unaweza kubainisha kurasa nyingi za faharasa. Saraka inapoulizwa, itatafutwa kwa mpangilio ambayo imeorodheshwa katika maagizo ya Saraka ya Saraka. Ikiwa index.html ya faili haipatikani, basi index.php ya faili itatafutwa, nk.

Tekeleza msimbo wa PHP katika faili za HTML

RemoveHandler.html.htm
AddType application/x-httpd-php .php .htm .html .phtml

Kwa kuongeza mistari hii kwenye .htaccess utaelekeza seva kutekeleza maagizo ya PHP sio tu kwenye faili zilizo na viendelezi vya *.php na *.phtml, lakini pia katika faili zilizo na viendelezi vya *.htm na *.html.

Ushughulikiaji wa Hitilafu ya Apache

ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

Hitilafu hizi zinapotokea, mgeni ataelekezwa kwenye kurasa zilizoundwa mahususi.

  • Hitilafu 401 - Uidhinishaji Unahitajika.
  • Hitilafu 403 - mtumiaji hajapitisha uthibitishaji, ufikiaji umekataliwa (Imepigwa marufuku).
  • Hitilafu 404 - Hati haijapatikana.
  • Hitilafu 500 - Hitilafu ya Ndani ya Seva.

Marufuku ya kuonyesha yaliyomo kwenye saraka ikiwa hakuna faili ya index

Chaguzi - Vielelezo

Kuamua encoding ambayo seva "inatuma" faili

AddDefaultCharset windows-1251

Kuamua usimbaji wa faili zilizopakuliwa

CharsetSourceEnc windows-1251

Kataa ufikiaji wa faili zote

Kataa kutoka kwa wote

Ufikiaji wa faili na saraka zote katika saraka ya sasa umekataliwa.

Ruhusu ufikiaji kutoka kwa anwani maalum ya IP pekee

Kataa agizo, ruhusu
kukataa kutoka kwa wote
kuruhusu kutoka 195.135.232.70

Agizo linakataa, ruhusu mstari huamua ni kwa utaratibu gani maagizo yanapaswa kutekelezwa. Agizo la kukataa ufikiaji linatekelezwa kwanza, na kisha ufikiaji unaruhusiwa tu kwa anwani ya IP 195.135.232.70. Ikiwa katika mstari wa kwanza unabadilisha utaratibu wa maagizo ya kuagiza kuruhusu, kukataa, basi ufikiaji wa anwani hii ya IP hautafunguliwa, kwa kuwa maagizo ya kukataa yaliyotekelezwa mwisho yatapindua vitendo vya kuruhusu maagizo.

Inatokea kwamba ufikiaji wa tovuti yako au sehemu yake inahitaji kuzuiwa. Kataa kuingia kwa mtu mahususi au ruhusu tu mduara finyu wa watu. Fanya folda fulani (saraka) au vikoa vidogo kuwa vya faragha na uzilinde kwa manenosiri. Haya yote yanaweza kufanywa kwa kutumia faili ya .htaccess. Usiogope shida; mipangilio hii sio siri kabisa ya madhehebu ya wasimamizi wa wavuti wenye ndevu. Ukifuata maagizo, hata anayeanza anaweza kuigundua. Leo tutaangalia baadhi ya mipangilio maarufu zaidi na muhimu.

Je! ni faili gani ya .htaccess na jinsi ya kuunda?

Kuanza, kidogo tu kuhusu masharti. .htaccess ni faili inayokuruhusu kubadilisha mipangilio mingi ya tovuti yako (mipangilio ya seva ya wavuti ya Apache, chaguzi za PHP) na kudhibiti ufikiaji wake. Unaweza kuunda faili hii mwenyewe wakati wowote (au tayari iko kwenye tovuti yako). Kwa kawaida, faili ya .htaccess imeundwa kwenye saraka ya mizizi ya tovuti, na wakati mwingine katika subdirectories zinazohitaji mipangilio tofauti.

Sheria zilizotajwa katika faili ya .htaccess zinatumika kwenye saraka (folda) ambayo iko, pamoja na subdirectories zote. Sheria hizi pia zinatumika kwa vikoa vidogo, kwani saraka za vikoa ni subdirectories za tovuti kuu.

Tovuti yako inaweza kuwa tayari ina faili ya .htaccess. Halafu hakuna haja ya kuunda tena; inatosha kuongeza sheria mpya hadi mwisho wa faili iliyopo. Ikiwa hakuna faili kama hiyo, unda. Ili kufanya hivyo, kwenye kidhibiti faili (kipengee "Faili" kwenye menyu ya juu ya paneli ya kudhibiti), ikiwa kwenye folda inayotaka, bofya "Unda" - "Faili", taja kama jina la faili: .htaccess (kitone kwenye mwanzo unahitajika). Tayari. Yote iliyobaki ni kuijaza na sheria zinazohitajika.

Ruhusu ufikiaji kutoka kwa IP maalum pekee

Ikiwa tovuti yako au sehemu yake yoyote haikusudiwa kwa umma kwa ujumla, unaweza kuzuia ufikiaji wake kwa anwani ya IP. Kwa mfano, ikiwa ukurasa wa kuingia katika sehemu ya usimamizi ya tovuti yako unakumbwa na maombi ya kutiliwa shaka ambayo yanaonekana kama jaribio la udukuzi, kizuizi kama hicho kinaweza kuwa muhimu. Hii hutokea mara kwa mara na tovuti za WordPress. Katika kesi hii, kwa kawaida tunapendekeza kuzuia ufikiaji wa sehemu ya usimamizi kutoka kwa anwani zote za IP isipokuwa yako mwenyewe (tutajadili jinsi ya kufanya hivi hapa chini).

Ikiwa ungependa kuzuia ufikiaji wa tovuti nzima, ongeza sheria zifuatazo kwenye faili yako ya .htaccess:

Kataa agizo, ruhusu
Kataa kutoka kwa wote
Ruhusu kutoka kwa *.*.*.*

Mstari wa kwanza katika mwongozo huu unabainisha utaratibu wa vitendo: kwanza kukataa, kisha kuruhusu. Mstari wa pili unakataza ufikiaji wa kila mtu (kwani hilo ni agizo lililobainishwa kwenye mstari wa kwanza). Mstari wa tatu unaruhusu ufikiaji tu kwa anwani maalum ya IP. Kwa hivyo badilisha *.*.*.* na anwani ya IP inayoruhusiwa.

Unaweza kuruhusu ufikiaji wa anwani nyingi za IP, mtandao mdogo wa anwani za IP, au hata neti nyingi. Kila anwani mpya ya IP au subnet pekee ndiyo inapaswa kuonyeshwa kwenye laini mpya.

Kwa mfano, ikiwa kuna anwani kadhaa za IP:

Ruhusu kutoka kwa *.*.*.*
Ruhusu kutoka kwa *.*.*.*

Ikiwa anwani ni za subnet sawa, basi taja subnet; kufanya hivyo, badala ya nambari baada ya nukta ya mwisho, taja masafa: 0/*, kwa mfano:

Vile vile, unaweza kubainisha subnets nyingi:

Ruhusu kutoka *.*.*.0/12
Ruhusu kutoka *.*.*.0/12

Ikiwa unataka kuzuia ufikiaji sio kwa tovuti nzima, lakini kwa sehemu tu ya tovuti, basi faili ya .htaccess inapaswa kuundwa katika folda hasa ambayo unataka kuzuia upatikanaji. Kwa mfano, ikiwa unataka kulinda sehemu ya utawala ya tovuti ya WordPress, basi faili ya .htaccess inapaswa kuundwa kwenye saraka ya wp-admin. Katika mstari Ruhusu kutoka *.*.*.* unapaswa kubainisha anwani yako ya IP.

Jinsi ya kujua IP yako na subnet?

Ili kubaini IP yako, tumia huduma kubainisha IP:

Ili kufafanua subnet, unaweza kutumia huduma ifuatayo: ip-calculator.ru.

Ikiwa unaona ni vigumu kuamua mask ya subnet inayohitajika mwenyewe, wasiliana na usaidizi.

Kataa ufikiaji wa anwani maalum za IP

Wakati mwingine inaweza kuwa muhimu kuzuia ufikiaji wa anwani fulani za IP tu. Hitaji kama hilo linaweza kutokea, kwa mfano, ikiwa ufikiaji wa wavuti yako kutoka kwa anwani moja mahususi ya IP ni kubwa na kutatiza utendakazi wa tovuti, na kuunda mzigo ulioongezeka.

Ili kuzuia ufikiaji wa tovuti yako kutoka kwa anwani fulani za IP, ongeza maandishi yafuatayo kwenye faili ya .htaccess:

Ruhusu agizo, kataa
Ruhusu kutoka kwa wote
Kataa kutoka kwa *.*.*.*

Badilisha *.*.*.* kwa anwani ya IP inayohitajika. Katika kesi iliyoelezwa na maombi ya wingi, huduma ya usaidizi wa mwenyeji itasaidia kuamua anwani ya IP ya "mkosaji".

Hapa, kama unaweza kuona, agizo limebadilishwa: kwanza tunaruhusu ufikiaji wa kila mtu, kisha tunazuia ufikiaji wa anwani fulani za IP. Kama tu katika mfano uliopita, unaweza kutaja anwani kadhaa za IP (kila kwenye mstari tofauti), subnet nzima, au subnets kadhaa. Kila anwani ya IP au subnet imeandikwa kwenye mstari mpya.

Weka nenosiri la ufikiaji la folda au kikoa kidogo

Hebu tuseme una folda kwenye tovuti yako zilizo na maudhui ambayo ungependa kuzuia ufikiaji. Au unaunda tovuti ya faragha kwenye kikoa kidogo. Katika hali zote mbili, suluhisho linalofaa litakuwa kuweka nenosiri la ufikiaji.

Unaweza kuweka nenosiri la folda moja kwa moja kutoka kwa Jopo la Kudhibiti. Ili kufanya hivyo, bofya tu kwenye shamba na folda inayotakiwa na uchague kazi ya "Ulinzi wa nenosiri", na kisha uweke nenosiri.

Lakini kwa njia hii unaweza tu kuweka nenosiri kwa mtumiaji mmoja maalum. Ikiwa unahitaji nenosiri kwa mduara wa watu, faili ya .htaccess itasaidia tena.

Kama unavyokumbuka, maagizo kutoka kwa faili ya .htaccess yanatumika tu kwa folda ambayo faili hii na folda zake ndogo ziko (isipokuwa moja, ambayo hatutazingatia sasa). Kwa hiyo, ili kuweka nenosiri kwa folda maalum, unda faili ya .htaccess moja kwa moja ndani yake na maagizo yafuatayo (na ikiwa faili kama hiyo tayari iko ndani yake, basi uongeze tu mwisho wa faili):

AuthName "maandishi_yako"
AuthType Msingi
Inahitaji mtumiaji halali
AuthUserFile "full_path_to_file_.htpasswd"

Katika mstari wa kwanza (AuthName) badala ya "your_text" bainisha ujumbe wowote utakaoonyeshwa unapojaribu kufikia saraka iliyolindwa. Kwa mfano: "Eneo la Kibinafsi" au "Wasimamizi Pekee", au kitu kingine kwa hiari yako. Muhimu! Thamani ya maandishi katika sehemu ya AuthName lazima isiwe na herufi za Kisirili au maalum.

Laini Inahitaji mtumiaji halali inamaanisha kuwa jina la mtumiaji linaweza kuwa chochote. Tunapendekeza kuiacha kwa njia hii. Hata hivyo, unaweza kubainisha kwa hiari orodha ya majina ya watumiaji ambayo yanaruhusiwa kuingia. Ili kufanya hivyo, katika mstari huu baada ya Inahitaji, unapaswa kuonyesha majina yanayoruhusiwa, yaliyotengwa na koma. Katika kesi hii, hatuongezi mtumiaji halali.

Katika mstari wa mwisho wa AuthUserFile, lazima ubainishe njia kamili ya faili iliyo na kuingia na nenosiri la ufikiaji katika fomu iliyosimbwa. Kwanza, faili kama hiyo lazima iundwe na kupakiwa kwenye tovuti.

Ili kufanya hivyo, unda faili mpya katika meneja wa faili na uipe jina.htpasswd (dot katika jina pia inahitajika). Faili inapaswa kuundwa kwenye folda ya kikoa ambacho unaweka nenosiri (kwenye folda ya mizizi, pata folda ya kikoa na kikoa unachotaka ndani yake).

Ili kuzalisha kuingia kwa siri na nenosiri, tumia utumiaji wa console.htpasswd (njia hii inafaa zaidi kwa mtaalamu), au huduma za tatu zilizo na kazi sawa, kwa mfano, hii: Htpasswd-generator. Mwisho ni rahisi sana: weka nenosiri na uingie na upate kamba iliyosimbwa. Laini hii inapaswa kunakiliwa na kubandikwa kwenye faili yako iitwayo .htpasswd.

Wacha turudi kwenye muundo wa maagizo. Njia ya faili ya .htpasswd imebainishwa katika umbizo kamili: /home/login/domain/domain.ru/.htpasswd

Mfano wa maagizo yaliyoumbizwa kwa usahihi:

AuthName "Eneo la Kibinafsi!"
AuthType Msingi
Inahitaji mtumiaji halali
AuthUserFile /home/a0000001/domains/mydomain/.htpasswd

Ukiipata, unaweza kupata maelezo zaidi kuhusu mipangilio ya .htaccess kwenye tovuti yetu. Na kwa watumiaji wenye uzoefu zaidi, unaweza kujifunza kuhusu mipangilio ya hila zaidi ya htaccess kutoka kwa makala hii. Pia tunakukumbusha kwamba hivi karibuni unaweza kwa urahisi na kwa kujitegemea

Kila msanidi wa wavuti anajua kuhusu madhumuni ya faili ya .htaccess. Katika kiwango cha msingi, hukuruhusu kudhibiti ufikiaji wa saraka za tovuti. Lakini kwa kuongeza vipande kadhaa vya ziada vya nambari kwake, unaweza kufanya vitu vingine vingi vya kupendeza nayo.

Ikiwa unahitaji maelezo ya msingi kuhusu madhumuni ya faili hii, basi unaweza kupata utangulizi wa .htaccess kutoka kwa makala yetu ( Sikutafsiri nakala hii, kwa kuwa kuna misingi huko, kuna kutosha kwao katika sehemu ya lugha ya Kirusi ya Wavuti, lakini ikiwa riba imeonyeshwa, basi inaweza kutafsiriwa ili kukamilisha picha - takriban. mfasiri), ambayo inashughulikia vipengele vyote vya matumizi yake kwa undani wa kutosha.

Kwa hiyo, mifano muhimu ya matumizi. htaccess:

1. Kudhibiti ufikiaji wa faili na saraka
Ulinzi wa nenosiri ni jambo moja, lakini wakati mwingine unaweza kutaka kuzuia kabisa ufikiaji wa watumiaji kwa faili au folda fulani. Kawaida hii inarejelea folda za mfumo, kama vile kujumuisha, ambazo programu zinapaswa kupata, lakini sio watumiaji.

Ili kufanya hivyo, weka msimbo huu kwenye faili. htaccess na uihifadhi kwenye saraka ambayo unazuia ufikiaji:

Kataa kutoka kwa wote
Hata hivyo, kumbuka kwamba ufikiaji utazuiwa kwa watumiaji wote, ikiwa ni pamoja na wewe. Unaweza kufungua ufikiaji kwa mtumiaji maalum kwa kusajili anwani yake ya IP. Hapa kuna nambari utakayohitaji kwa hili:

Agizo limekataliwa, ruhusu kukataliwa kutoka kwa kila ruhusu kutoka xxx.xxx.xxx.xxx
wapi xx. xxx. xxx. xxx ni IP yako. Ili kuweka safu zinazoruhusiwa za anwani za IP, unaweza kubadilisha nambari tatu za mwisho. Kwa mfano, kwa kuandika "0/12" badala yake, utabainisha anuwai ya anwani za IP kwa mtandao mmoja, ambayo itakuokoa kutoka kwa kuingiza anwani zote za IP zinazoruhusiwa kwenye orodha kando.

Ikiwa unataka kuzuia ufikiaji wa faili maalum, pamoja na wewe mwenyewe. htaccess, tumia snippet ya nambari ifuatayo:

ili kuruhusu, kukataa kutoka kwa wote
Ikiwa unataka kubainisha anwani mahususi za IP ambazo hazipaswi kufikiwa, ziorodheshe kwa kutumia allow from.

Ikiwa unataka kuzuia ufikiaji wa aina fulani ya faili, tumia nambari hii:

Agiza Ruhusu, Kataa kutoka kwa wote

2. Marufuku ya kutazama saraka
Ili kuzuia utazamaji wa saraka za tovuti, ongeza msimbo ufuatao kwa .htaccess:

Chaguzi Zote -Fahasi
Ikiwa kwa sababu fulani unataka kuruhusu kuvinjari kwa saraka zote, tumia nambari:

Chaguo +Fahasi Zote

3. Ongeza kasi ya saa za upakiaji kwa kubana faili
Unaweza kubana faili za aina yoyote. Kwa mfano, ili kubana faili za HTML, ongeza nambari:

AddOutputFilterByType DEFLATE text/html
Ili kubana faili za maandishi tumia:

AddOutputFilterByType DEFLATE maandishi/wazi
Unaweza pia kukandamiza JavaScript au kuwezesha ukandamizaji wa aina zingine za faili kwa amri:

AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml
Zaidi ya hayo, unaweza kubana faili zako zote za JavaScript, HTML na CSS kwa kutumia GZIP. Ili kufanya hivyo, tumia nambari ifuatayo:

mod_gzip_on Ndiyo mod_gzip_dechunk Ndiyo mod_gzip_item_include faili \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text\.* mod_gzipziclude_itepe_explorex_apzip_item. mimi ^ picha\.* mod_gzip_item_tenga rspheader ^Usimbaji-Yaliyomo:.*gzip.*

4. Kulinda tovuti kutoka kwa kuingiza picha kutoka kwa rasilimali nyingine
Ikiwa ungependa kuzuia kuongeza viungo kwa picha kutoka kwa rasilimali za watu wengine, ongeza msimbo ufuatao kwenye faili ya .htaccess:

RewriteEngine on RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http(s)?://(www\.)?yourdomain.com RewriteRule \.(jpg|jpeg|png|gif)$ -
Usisahau kubadilisha yourdomain.com na kuweka jina la kikoa chako.

5. Kuzuia wageni wanaotoka kwenye kikoa maalum
Ikiwa hutaki kuona watumiaji kutoka kwa kikoa maalum kwenye tovuti yako, basi unaweza kukataa ufikiaji wao. Kwa mfano, unaweza kuelekeza watumiaji upya kutoka kwa rasilimali zisizohitajika (tovuti za watu wazima, tovuti za wadukuzi, n.k.) hadi kwenye ukurasa wa 403 Haramu. Ili kufanya hivyo, unahitaji kuwezesha mod_rewrite, ingawa kawaida huwashwa na chaguo-msingi. Ongeza msimbo ufuatao kwa .htaccess:

RewriteEngine on RewriteCond %(HTTP_REFERER) bannedurl1.com RewriteCond %(HTTP_REFERER) bannedurl2.com RewriteRule .* - [F]
Unahitaji kubadilisha bannedurl1.com na bannedurl2.com na vikoa unavyotaka kuorodhesha. Unaweza kutumia bendera kuashiria kuwa jina la kikoa lililowekwa halijali. Alama ya [F] inaonyesha aina ya kitendo, katika hali hii ikionyesha hitilafu 403 Iliyokatazwa. Ikiwa unataka kuzuia tovuti kadhaa, tumia bendera kwa kila kikoa, lakini ikiwa unataka kuzuia matumizi ya kikoa kimoja, tumia bendera pekee.

6. Kuzuia maombi kutoka kwa vivinjari fulani
Ikiwa faili zako za kumbukumbu zina rekodi za kutembelea vivinjari maalum (hii inaweza kuwa roboti au buibui kuiga kivinjari), unaweza kuwanyima ufikiaji wa tovuti yako kwa kuongeza mistari michache. htaccess:

RewriteEngine On RewriteBase / SetEnvIfNoCase Referer "^$" bad_user SetEnvIfNoCase User-Agent "^badbot1" bad_user SetEnvIfNoCase User-Agent "^badbot2" bad_user SetEnvIfNoCase bad_user-Agent3
Badilisha badbot1, badbot1, n.k. kwa majina ya roboti kutoka kwenye kumbukumbu yako. Hii itazuia programu za wahusika wengine kufikia tovuti yako.

7. Uhifadhi wa faili
Kuhifadhi faili ni njia nyingine ya kufanya tovuti yako ipakie haraka. Hivi ndivyo unahitaji kuweka .htaccess:

Kichwa kimeweka Cache-Control "max-age=2592000"
Unaweza kuongeza aina zaidi za faili (au kuondoa baadhi) kwenye orodha ya faili iliyoorodheshwa katika mfano huu. Unaweza pia kubainisha urefu wa muda ambao faili huhifadhiwa kwenye akiba (kwa sekunde) kwa kutumia kigezo cha umri wa juu zaidi.

8. Lemaza caching kwa aina tofauti za faili
Ikiwa hutaki kuhifadhi aina fulani za faili, unaweza kuziacha nje ya orodha. Walakini, wakati mwingine faili zinaweza kuhifadhiwa kwenye kashe hata bila kuorodheshwa wazi, kwa hali ambayo unaweza kuzima uhifadhi wao mmoja mmoja. Hitaji la kawaida la kuzima kache ni faili zinazobadilika, kama vile hati. Mfano wa nambari inayohitajika kwa hili:
Kijajuu batilisha Cache-Control
Taja tu aina za faili ambazo ungependa kuzima uhifadhi.
9. Pitisha kidirisha cha upakuaji
Kwa chaguo-msingi, unapojaribu kupakua faili kutoka kwa seva ya wavuti, mazungumzo yanaonyeshwa ambayo yanakuuliza ikiwa unataka kuhifadhi faili au kuifungua. Mazungumzo haya yanaudhi haswa wakati wa kupakua media kubwa au faili za PDF. Ikiwa faili ambazo umepakia kwenye seva zimekusudiwa kupakuliwa pekee, unaweza kurahisisha maisha ya watumiaji kwa kufanya upakuaji wa kitendo chaguomsingi. Ongeza ndani. htaccess ni kama ifuatavyo:

Programu ya AddType/octet-stream .pdf AddType application/octet-stream .zip AddType application/octet-stream .mp3

10. Kubadilisha jina la faili ya .htaccess
Ikiwa kwa sababu fulani unataka kubadilisha jina la faili ya .htaccess, basi unaweza kufanya hivyo. Kinadharia, kubadilisha jina la faili ya .htaccess haipaswi kusababisha matatizo na programu zinazoendesha kwenye seva yako, lakini ikiwa unaona hitilafu za uandishi zinazoonekana baada ya kubadilisha faili, basi uipe jina tena.

AccessFileName htac.cess
Zaidi ya hayo, maingizo yote yanayotaja faili ya .htaccess lazima yasasishwe, vinginevyo makosa mengi yatatokea.

11. Kubadilisha ukurasa wa nyumbani wa tovuti
Ikiwa ungependa kuweka ukurasa wa nyumbani usio wa kawaida (index.html, index.php, index.htm, n.k.), ongeza msimbo ufuatao kwenye faili yako ya .htaccess:

DirectoryIndex mypage.html
Badilisha mypage.html na URL ya ukurasa unaotaka kutumia kama ukurasa wako wa nyumbani.

12. Elekeza upya kwa muunganisho salama wa HTTPS
Ikiwa unatumia HTTPS na unataka kuelekeza watumiaji upya ili kulinda kurasa kwenye tovuti yako, ongeza mistari ifuatayo kwenye faili yako ya .htaccess:

RewriteEngine On RewriteCond %(HTTPS) !kwenye Kanuni ya Kuandika Upya (.*) https://%(HTTP_HOST)%(REQUEST_URI)

13. Kupunguza ukubwa wa juu wa faili zilizopakiwa katika PHP, ukubwa wa juu wa data iliyohamishwa, muda wa juu wa utekelezaji wa hati, nk.
.htaccess hukuruhusu kuweka baadhi ya maadili ambayo huathiri moja kwa moja uendeshaji wa programu za PHP. Kwa mfano, ikiwa unataka kuweka kikomo juu ya saizi ya faili zilizopakiwa katika PHP, ili usifunge mwenyeji wako na faili kubwa:

Php_value upload_max_filesize 15M
Unaweza kuweka thamani yoyote, kwa mfano ukubwa wa faili ni mdogo kwa 15M (MB). Kwa kuongeza, unaweza kupunguza ukubwa wa juu wa data iliyohamishwa wakati wa kupakia kwenye PHP:

Php_value post_max_size 10M
Unaweza kubadilisha 10M kwa thamani yoyote unayohitaji. Ikiwa hauitaji hati kufanya kazi kila wakati, unaweza kupunguza wakati wao wa utekelezaji na mstari:

Php_value max_execution_time 240
240 - wakati wa utekelezaji (kwa sekunde) baada ya hapo hati itasimamishwa, unaweza kubadilisha thamani hii kwa nyingine yoyote. Mwishowe, ikiwa unataka kuweka kikomo wakati wa uchambuzi wa hati kwenye data mbichi, tumia nambari ifuatayo:

Php_value max_input_time 180
Weka badala ya 180 kwa wakati wowote unaohitaji (kwa sekunde).

14. Kuficha aina za faili
Wakati mwingine hutaki watumiaji kujua ni aina gani za faili kwenye tovuti yako. Njia moja ya kuficha habari hii ni kufanya faili zako zote zionekane kama faili za HTML au PHP:

Utumizi wa ForceType/x-httpd-php ForceType application/x-httpd-php
Na hii ni sehemu tu ya kile .htaccess inaweza kufanya, lakini kwa ujumla inakuwezesha kufanya mengi zaidi. Kwa mfano, unaweza kuweka kurasa za tovuti yako kutafsiri kiotomatiki, kuweka saa za eneo la seva, kuondoa WWW kutoka kwa URL, au kutumia mionekano ya saraka ya dhana, n.k. Lakini kwa hali yoyote, kabla ya kuanza majaribio na faili ya .htaccess, daima uhifadhi nakala ya nakala ya awali ya .htaccess ili matatizo yakitokea, unaweza kurejesha tovuti haraka.