Kutumia htaccess. Jinsi ya kuunda na kusanidi vizuri faili ya htaccess? Kataa ufikiaji wa faili zote zilizo na kiendelezi maalum

Tunatumia Apache httpd kama seva yetu kuu ya wavuti. Apache hutumiwa kupanga seva nyingi za wavuti ulimwenguni na ni bidhaa maarufu zaidi ya darasa lake. Seva hii ina chaguzi nyingi za usanidi, ina tija sana na inaauni itifaki zote zinazojulikana za kuendesha seva za wavuti. Matoleo ya lugha maarufu za programu kama Perl na PHP zimeundwa mahsusi kwa Apache, na seva hii pia inaunganishwa kwa urahisi na DBMS zinazotumiwa sana (kwa mfano, MySQL).

Tovuti kuu ya mradi iko katika httpd.apache.org, na nyaraka kuu za toleo la 1.3.xx zinapatikana katika httpd.apache.org/docs/.

Tunawapa watumiaji uwezo wa kusanidi Apache kwa kujitegemea kwa kutumia maagizo yanayofaa katika . Kwa njia hii unaweza kutatua matatizo mengi ya usanidi wa seva ya wavuti katika mazingira ya kukaribisha watu wengi.

Faili ya index

Faili ya faharasa au faili ya faharasa ni faili inayofunguliwa kwa chaguo-msingi mtumiaji anapofikia saraka kupitia wavuti, badala ya faili mahususi. Kwa mfano, mgeni wako ataomba anwani http://your_domain/price/, ambapo bei ni jina la katalogi. Faili ya index ni faili ambayo itaonyeshwa kwa mtumiaji wakati wa kufikia saraka bila kutaja jina la faili maalum ndani yake.

Faili za faharasa chaguomsingi ni: index.html, index.htm, index.php, index.php3, index.phtml, index.shtml, default.htm, au default.html. Ikiwa unataka faili nyingine kufunguliwa kwanza, unahitaji kubatilisha maadili ya sasa. Soma jinsi ya kufanya hivi.

Kusudi na matumizi ya faili ya .htaccess

Faili ya .htaccess (kumbuka kuwa herufi ya kwanza katika jina la faili ni kipindi) inatumika kudhibiti seva ya wavuti ya Apache kutoka kwa mtumiaji wa mwisho wa mwenyeji. Unaweka maagizo katika faili hii ambayo seva ya wavuti inakubali na inachakata, ikifanya vitendo kulingana na mipangilio ambayo imefanywa na mtumiaji.

Faili ya .htaccess inaweza kuwekwa kwenye saraka ya mizizi ya seva ya wavuti (chini ya saraka ya www). Katika kesi hii, maagizo kutoka kwa .htaccess vile ni halali katika seva ya wavuti. Pia, .htaccess inaweza kupatikana katika orodha ndogo ya seva. Kisha maagizo ambayo yameainishwa kwenye faili hii "hufuta" hatua ya maagizo kutoka kwa faili "kuu", ambayo iko kwenye saraka ya www au saraka yoyote ya kiwango cha juu. Hiyo ni, athari za maagizo kutoka kwa .htaccess hurithi kutoka juu hadi chini, lakini si kinyume chake. Mabadiliko yaliyofanywa kwenye faili huanza kutumika mara moja. Hii ni kutokana na ukweli kwamba taarifa kutoka kwa .htaccess inasomwa tena kila wakati seva ya mtandao ya Apache inapofikiwa.

.htaccess inaweza kuwa na maagizo mengi yanayopatikana kwa seva ya wavuti. Ikumbukwe kwamba maagizo ambayo hayataji .htaccess katika uga wa Muktadha hayapatikani kwa matumizi katika faili hii ya usanidi. Kwa kutumia mwongozo wa AddType kama mfano, tunaona kwamba sehemu ya Muktadha ina marejeleo ya .htaccess , kwa hivyo unaweza kuitumia:

Ikiwa haukufanikiwa kutumia mwongozo unaohitajika, na ukaona hitilafu baada ya kuongeza maagizo kwa .htaccess, uwezekano mkubwa, matumizi ya amri ni marufuku chini ya hali ya upangishaji wa kawaida. Andika kwa usaidizi wa kiufundi, tutajaribu kukusaidia. Tafadhali eleza tatizo kwa undani na uonyeshe malengo unayotaka kufikia kwa kutumia agizo hili.

Firewall ya Maombi ya Wavuti

Firewall ya Maombi ya Wavuti (ModSecurity) ni muhimu ili kugundua na kuzuia mashambulizi kwenye tovuti. Cheki inafanywa na seti fulani ya sheria na, ikiwa inashindwa, ombi kwa tovuti inakataliwa na kosa (403 marufuku).

Katika kesi ya chanya za uwongo, inawezekana kuzima sheria kupitia .htaccess kwa kutumia chaguo zilizo hapa chini:

  • SecRuleRemoveById - ondoa sheria kwa kitambulisho
  • SecRuleRemoveByTag - ondoa sheria kwa lebo.

Unaweza kuamua ni sheria ipi inayohitaji kuzimwa katika logi ya makosa error.log

Mfano wa kulemaza kwa kitambulisho:

SecRuleRemoveById 933100 933150

Mifano ya kulemaza kwa Tag:

SecRuleRemoveByTag "attack-injection-php" SecRuleRemoveByTag "CWAF" Usimbaji wa kubatilisha:

Kwa chaguo-msingi, seva ya wavuti "hutuma" hati zote za HTML ambazo zimepangishwa kwenye seva katika usimbaji wa windows-1251. Unaweza kubadilisha aina ya usimbaji ambayo seva ya wavuti "itatoa" habari katika akaunti yako ya kibinafsi.

Ili kufanya hivyo, nenda kwenye sehemu ya "Mti wa Huduma" na uchague kikoa ambacho unahitaji kubadilisha aina ya encoding. Ifuatayo, katika orodha ya vigezo, pata usimbaji wa mstari (chaguo-msingi) na ubofye ongeza, kama inavyoonyeshwa kwenye takwimu hapa chini.

Unaweza pia kubadilisha usimbaji kwa kutumia faili ya .htaccess. Ili kufanya hivyo, ongeza mstari ndani yake

AddType "text/html; charset=koi8-r" .html .htm .shtml

Baada ya kupokea vile .htaccess , seva ya wavuti ya Apache itatoa kichwa kwa kivinjari cha mteja kikionyesha kwamba hati imesimbwa koi8-r.

Ikiwa rasilimali yako ina hati za HTML katika usimbaji tofauti (ISO-8859-1, Windows-1250, Windows-1252, UTF-8), basi unaweza kuhitaji kuzima pato la kulazimishwa la vichwa na usimbuaji wa windows-1251. Ili kufanya hivyo, ongeza laini ifuatayo kwa .htaccess:

AddDefaultCharset Zima

Katika kesi hii, encoding sambamba lazima iandikwe kwenye kila ukurasa wa html kwa namna ya lebo

Mfano: jinsi ya kufunga saraka na nenosiri

Moja ya kazi za kawaida ambazo hutatuliwa kwa kutumia .htaccess ni kuzuia ufikiaji wa saraka maalum kwenye seva. Kwa mfano, unahitaji kutoa ufikiaji wa saraka fulani kwa wageni binafsi, kuwapa kuingia kwa kipekee na nenosiri.

Katika saraka ambayo tunataka kuzuia ufikiaji kwa nenosiri, tunaunda faili ya .htaccess yenye maagizo yafuatayo:

AuthType Basic AuthName "Baadhi ya Jina" AuthUserFile /home/uXXXXX /.htpasswd inahitaji mtumiaji halali

Njia /home/uXXXXX/.htpasswd inaashiria njia kamili ya faili ya nenosiri kwenye diski yetu ya seva. Ikiwa, kwa mfano, utaweka faili ya .htpasswd (itakuwa na nywila) kwenye saraka yako ya nyumbani, unapoenda unapofikia seva kupitia FTP, basi njia ya faili hii itaonekana kama /home/uXXXXX/.htpasswd, ambapo uXXXX ni jina la tovuti zako pepe (kwa mfano, u12345).

Katika maagizo ya AuthUserFile tunataja njia kamili ya faili na logins / nywila, ambayo tutaunda baadaye kidogo. Ikiwa utaunda faili ya .htaccess kwenye kompyuta yako, na sio moja kwa moja kwenye seva kwa kutumia kihariri cha maandishi, tafadhali kumbuka kuwa .htaccess lazima ihamishwe kupitia FTP madhubuti katika hali ya maandishi (ASCII).

Unda faili ya nenosiri. Faili ya nenosiri inapaswa kuwa na mistari kama login:password . Nenosiri lazima lisimbwe kwa njia fiche kwa kutumia algoriti ya MD5. Njia moja ya kuunda faili kama hiyo ni kutumia programu iliyojumuishwa na Apache - htpasswd (kwenye seva yetu iko kwenye saraka /usr/local/bin/, njia kamili ni /usr/local/bin/htpasswd).

Wacha tuangalie jinsi ya kuunda faili ya nenosiri kwenye ganda la unix moja kwa moja kwenye seva. Wacha tuingie kwenye ganda na tutekeleze amri zifuatazo:

  • htpasswd -mbc .htpasswd user1 sNQ7j9oR2w tengeneza faili mpya .htpasswd, ambayo tunaongeza kiingilio kwa mtumiaji1 na nenosiri lililowekwa kwenye mstari wa amri. Tafadhali hakikisha umebadilisha sNQ7j9oR2w na nenosiri lako mwenyewe - nenosiri hili linaonyeshwa hapa kwa mfano pekee.
  • htpasswd .htpasswd user2 huongezwa kwa faili iliyopo ya .htpasswd ya mtumiaji2, na nenosiri linaingizwa mwenyewe kwa kujibu ombi sambamba kutoka kwa programu.

Ikiwa unatumia Windows na hutaki kutumia shell ya unix kuzalisha nywila, unaweza kupakua toleo la Windows la programu ya htpasswd na kuunda faili na nywila kwenye kompyuta yako, kisha uipakie kwenye seva. Ikiwa tayari unayo toleo la Windows la Apache iliyosanikishwa, faili ya htpasswd.exe inaweza kupatikana kwenye Faili za Programu\Apache Group\Apache\bin\ saraka.

Kwa hivyo, pata htpasswd.exe na uitumie kutoa nywila kama hii:

  • htpasswd.exe -mc .htpasswd user1 kuunda faili mpya ya nenosiri htpasswd.exe , nenosiri na uthibitisho wake utaombwa kwa maingiliano
  • htpasswd.exe -m .htpasswd user2 ongeza mtumiaji2 kwenye faili iliyopo ya nenosiri htpasswd.exe kwa kuuliza nenosiri kwa maingiliano

Baada ya logi zote kuundwa, faili lazima ipakwe kwenye seva.

Mfano: Ubatilishaji wa Faili za Kielezo

Hali: mtumiaji alipata katalogi http://www.your_domain.ru/price/. Kwa ombi kama hilo, ya kwanza itafungua na kuonyeshwa. Ikiwa unataka kufuta faili ya index na kuifanya ili sio index.htm ambayo inafunguliwa kwanza, lakini, kwa mfano, faili ya mindex.php, basi unaweza kufanya hivyo kwa kuweka maagizo yafuatayo kwenye faili ya .htaccess. katika saraka inayofaa:

DirectoryIndex mindex.php

Baada ya kupokea .htaccess na maudhui kama hayo, seva ya wavuti ya Apache itafungua faili ya mindex.php kwa chaguo-msingi.

Mfano: marufuku na ruhusa ya kutoa tangazo

Katika baadhi ya matukio, ni muhimu kuonyesha orodha ya faili kwenye saraka (orodha ya orodha) ikiwa hakuna faili katika saraka ambayo imeonyeshwa kwa default. Ili kufanya hivyo, unahitaji kuongeza mstari ufuatao kwa .htaccess:

Chaguo +Fahasi

Faili ya .htaccess lazima iundwe katika saraka kamili ambayo unapanga kuruhusu kuorodheshwa. Maagizo haya pia yatatumika kwa saraka ndogo zote (hii inafanikiwa kwa kuwezesha AllowOverride All maelekezo katika mipangilio ya seva pangishi kwa chaguomsingi).

Kwa chaguo-msingi, maagizo ya Chaguzi -Indexes yamewezeshwa, kwa hali ambayo utapokea hitilafu ya HTTP 403.

Ikiwa usimbaji katika majina ya faili hauonyeshwa kwa usahihi, tumia sifa ya Charset kutaja usimbaji unaotaka. Kwa mfano, ili kuonyesha herufi za Kisirili katika usimbaji wa UTF-8, ongeza maagizo yafuatayo kwenye faili ya .htaccess:

IndexOptions Charset=UTF-8 Mfano: Kurasa za hitilafu maalum Mfano: Kataa ufikiaji kutoka kwa anwani fulani za IP

Wakati mwingine inakuwa muhimu kuzuia ufikiaji wa tovuti au sehemu yake kutoka kwa anwani fulani za IP.

Katika kesi hii, unahitaji kuunda faili ya .htaccess na maagizo katika saraka inayotaka. Kwa mfano, kukataa ufikiaji kutoka kwa anwani ya IP 172.16.16.16:

Agizo Ruhusu, Kataa Ruhusu kutoka kwa Wote Kataa kutoka 172.16.16.16

Sasa, unapojaribu kufikia tovuti kutoka kwa anwani ya IP 172.16.16.16, mgeni atapokea hitilafu 403 au ukurasa wako kwa hitilafu hii.

Kubainisha sehemu ya anwani kama 172.16.16 kutazuia ufikiaji kutoka kwa subnet ya 172.16.16/24.

Wakati mwingine unahitaji kufanya kinyume na kuzuia upatikanaji wa tovuti kwa IP zote isipokuwa yako (). Kwa mfano, ili kuruhusu ufikiaji wa anwani ya IP pekee 172.16.16.16, ongeza taarifa ifuatayo kwenye faili ya .htaccess:

Agizo Ruhusu,Kata Ruhusu kutoka 172.16.16.16

Unaweza kupata nyaraka za kina zaidi katika hati za Apache.

Mfano: kunyima ufikiaji wa faili zingine

Wakati mwingine inakuwa muhimu kukataa upatikanaji wa faili fulani. Kwa mfano, kwa faili za usanidi zilizo na maelezo ya ufikiaji kwa hifadhidata, miingiliano, nk. Hebu tuseme katika faili ya config.cfg unahifadhi kuingia/nenosiri kwa ajili ya kupata hifadhidata. Tunaunda faili ya .htaccess katika saraka hii kwa maagizo:

Ruhusu agizo, kataa Kataa kutoka kwa wote

Sasa, ikiwa mgeni ataandika kitu kama http://www.your_domain.ru//config.cfg kwenye kivinjari, atapokea hitilafu 403 au ukurasa wako kwa kosa hili.

Mfano: kichwa kilichobadilishwa mwisho

Katika baadhi ya matukio, seva ya wavuti inahitajika kutoa kichwa cha HTTP Iliyobadilishwa Mwisho. Kwa mfano, wakati wa kusajili rasilimali yako kwenye Yandex, kosa "Tarehe zisizo sahihi" inaonekana. Kwa hati tuli, seva itarudisha thamani iliyobadilishwa mwisho kila wakati. Hii ni halali kwa faili za html. Kwa SSI, seva itatoa thamani iliyorekebishwa mara ya mwisho ikiwa maagizo ya "XBitHack kamili" yamebainishwa (andika tu mstari huu katika .htaccess) na faili inayopatikana ina sifa "inayoweza kutekelezwa" kwa seti ya kikundi. Katika maandishi, marekebisho ya mwisho hutolewa kwa njia zingine. Kwa mfano, ikiwa tutazingatia kwamba hati ya PHP hutoa msimbo kwa nguvu, basi jambo la kimantiki zaidi litakuwa kutoa tarehe na wakati wa sasa kama ilivyorekebishwa mara ya mwisho./>

Hii inatekelezwa kama ifuatavyo:

Angalizo: amri ya kichwa lazima itekelezwe katika hati ya PHP kabla hati kuanza kutoa maandishi ya html kwa kivinjari cha mtumiaji.

"1C-Bitrix: Usimamizi wa Tovuti" hufanya kazi na kiwango chochote cha haki ulichoibainisha wakati wa kusanidi (usakinishaji).

Ili bidhaa ifanye kazi kwa usahihi na folda na faili zilizo na CHMOD fulani (iliyoandikwa na kuundwa), unahitaji kusakinisha kwenye faili / bitrix/ php_ interface/ dbconn. php safu zifuatazo:

Hii ni mipangilio ya kawaida ya ruhusa kwenye huduma nyingi za upangishaji (0644 kwa faili, 0755 kwa folda). Ikiwa utapata matatizo yoyote na uendeshaji, tafadhali wasiliana na usaidizi wako wa kiufundi wa mwenyeji.

Unaweza kuweka kiwango unachotaka cha haki mwenyewe kwa kutumia amri ya CHMOD katika hali ya kiweko.

Simu ifuatayo huweka kiwango cha ruhusa kwa faili na folda zote mbili:

Ili kuweka ruhusa kibinafsi kwenye folda, unaweza kutumia syntax ifuatayo:

tafuta. - aina d - exec chmod 0755 () ";"

Ikiwa unahitaji kuweka haki tofauti za folda na faili, basi endesha hati ifuatayo:

fafanua("BX_FILE_PERMISSIONS", 0644);

fafanua("BX_DIR_PERMISSIONS", 0755);

kazi chmod_R($njia) (

$ kushughulikia = opendir(njia ya $);

wakati (sio kweli!== ($file = readdir($handle))) (

ikiwa (($file!== ".") && ($file!== "..")) (

ikiwa (is_file($path."/".$file)) (

chmod($path. "/" . $faili, BX_FILE_PERMISSIONS);

chmod($path. "/" . $faili, BX_DIR_PERMISSIONS);

chmod_R($njia. "/" . $faili);

closedir($ hushughulikia);


$path=dirname(__FILE__);

Ili kuweka haki za kujirudia kando kwa faili na folda, unaweza kutumia baadhi ya programu za mteja wa FTP. Kwa mfano, toleo la FlashFXP la 3.xx na matoleo mapya zaidi.

FlashFXP pia hukuruhusu kutenganisha ruhusa za faili na folda, lakini hubadilisha ruhusa polepole zaidi.

Zingatia mipangilio ya bendera zinazolingana:

· Weka tofauti sifa za Faili na Folda (weka haki za faili na folda tofauti);

· Tekeleza mabadiliko kwa folda ndogo na faili zote (mipangilio ya haki ya kujirudia kwa folda ndogo na faili).

Kila mpangilio una kiwango chake (Mchoro 10.3 na Mchoro 10.4):

https://pandia.ru/text/80/333/images/image084.gif" width="353" height="310 src=">

Mchele. 10.4 Kuweka ruhusa za folda

Kumbuka: moduli ya Usimamizi wa Muundo hukuruhusu kuona haki za ufikiaji kwa faili na folda zilizowekwa kwenye kiwango cha mfumo (Mchoro 10.5):

Mmiliki" href="/text/category/vladeletc/" rel="bookmark">mmiliki na kikundi cha watumiaji (kwa *nix).

Kutumia faili. htaccess

Sehemu hii inajadili jinsi ya kusanidi seva ya wavuti ya Apache kwa kutumia faili ya .htaccess.

Mara nyingi, mtumiaji wa seva hana haki ya kufikia faili ya usanidi wa seva (httpd.conf), ambayo inatumika kwa watumiaji wote. Faili ya .htaccess inakuwezesha kufanya mabadiliko ya usanidi ambayo yataathiri tovuti yako tu.

Ili kuhakikisha kuwa mipangilio ya faili ya .htaccess haijapuuzwa na mfumo, katika faili ya mipangilio ya usanidi wa seva ya httpd. conf ruhusa ya kutumia .htaccess imewekwa. Angalia na usaidizi kwa ruhusa hii.

Faili ya .htaccess ina maelekezo ambayo yanatumika kwa saraka ambayo faili iko, pamoja na subdirectories zote katika saraka hii. Ikiwa .htaccess iko kwenye saraka ya mizizi ya seva, basi athari yake inatumika kwa seva nzima, isipokuwa kwa saraka hizo ambazo faili yake ya .htaccess iko. Maagizo katika faili za .htaccess yanatumiwa kwa mpangilio yanapatikana. Kwa hivyo, maagizo ya faili katika saraka fulani yana kipaumbele cha juu kuliko maagizo kwenye saraka ya juu kwenye mti wa saraka.

Hakuna haja ya kuanzisha upya seva wakati wa kufanya mabadiliko kwenye faili ya .htaccess. Faili ya .htaccess inakaguliwa kila wakati seva inapofikiwa, kwa hivyo mabadiliko huanza kutumika mara tu baada ya kufanywa. Kwa kuwa faili ni faili ya huduma, haipatikani kwa watumiaji kutoka kwa kivinjari cha wavuti.

Kwa ujumla, sintaksia ya faili ya .htaccess ni sawa na sintaksia ya faili kuu ya usanidi. Hata hivyo, madoido ya maagizo ya faili yanaweza kuzuiwa na maagizo ya AllowOverride. Huamua ni aina gani za maagizo ya faili ya .htaccess yanaweza kubatilisha mipangilio ya ufikiaji wa mapema.

Kumbuka: Wakati wa usakinishaji, hatua ya uthibitishaji wa awali huangalia uchakataji wa faili za .htaccess.

Katika bidhaa iliyosafirishwa, faili chaguomsingi ya .htaccess ina maagizo yafuatayo:

Chaguzi - Fahirisi

ErrorDocument 404 /404.php

#php_flag ruhusu_call_time_pass_rejeleo 1

kipindi cha #php_bendera. tumia_trans_sid imezimwa

#php_value display_errors 1

php_value mbstring. func_overload 2

php_value mbstring. usimbaji_wa_ndani UTF-8

Chaguo +FollowSymLinks

RewriteEngine Imewashwa

Andika upyaSheria.* -


Andika Upya %(REQUEST_FILENAME) !-f

Andika Upya %(REQUEST_FILENAME) !-l

Andika Upya %(REQUEST_FILENAME) !-d

Andika Upya %(REQUEST_FILENAME) !/bitrix/urlrewrite. php$

RewriteRule ^(.*)$ /bitrix/urlrewrite. php[L]

Kielezo cha Saraka. php index. html

InaishaImewashwa

ExpiresByType image/jpeg "access plus 3 days" inaisha

Muda wake wa matumizi ya ByType picha/gif "ufikiaji pamoja na siku 3"

Kumbuka: Ili kuwezesha maagizo ya PHP yaliyotolewa maoni, lazima uondoe alama ya maoni (#) mwanzoni mwa mstari. Ikiwa seva yako ya Apache haina ruhusa ya kutumia bendera za PHP, kutekeleza maagizo haya kutasababisha hitilafu ya ndani (500). Hitilafu ikitokea, lazima utoe maoni kwenye maagizo tena kwa kuweka ishara # mwanzoni mwa kila moja.

Kwa maagizo mengine ya PHP ambayo hayajawekwa alama ya maoni (#), cheki imeongezwa kwa uwepo wa moduli muhimu za Apache kwenye mfumo. Kufuata maagizo haya hakutasababisha hitilafu katika mfumo.

· PHP maelekezo php_flag kikao. use_trans_sid off huzima uingizwaji wa kitambulisho cha kipindi kwenye kiungo kwenye tovuti.

· thamani ya bendera ya PHP php_value display_errors sawa na 1 inaonyesha kuwa ruhusa ya kuonyesha ujumbe wa hitilafu imewezeshwa; maagizo ya php_value error_reporting huamua kiwango cha makosa ambayo yatasababisha ujumbe kuonyeshwa. Kwa kutumia maagizo haya, unaweza kusanidi hali ya matokeo ya ujumbe wa makosa na mkalimani wa PHP.

· php_value mbstring maelekezo. func_overload 2 na php_value mbstring. internal_encoding UTF-8 inadhibiti usanidi wa maktaba ya mbstring.

· IfModule mod_rewrite maelekezo ya kuzuia. c ndio mpangilio wa sheria wa mod_rewrite.

· The ExpiresActive kwenye maagizo huwezesha uhifadhi wa picha, ambayo hukuruhusu kuharakisha upakiaji wao unapofikia kurasa za tovuti tena. Picha/jpeg ya ExpiresByType "ufikiaji pamoja na siku 3" na maagizo ya "ufikiaji pamoja na siku 3" ya ExpiresByType picha/gif, kwa upande wake, hubainisha umbizo la picha na kipindi ambacho akiba itatekelezwa. Kwa chaguomsingi, picha katika umbizo la *.jpeg na *.gif huhifadhiwa kwa siku 3.

Kumbuka: baada ya kufanya mabadiliko, faili ya .htaccess lazima ihifadhiwe katika muundo wa UNIX (kwa shell ya FAR, chaguo ni "Hifadhi kama maandishi ya UNIX").

Hitilafu za seva 500 - Hitilafu ya Ndani ya Seva

Hitilafu ya seva inaweza kusababishwa na sababu mbalimbali, kwa hivyo kuigundua ni ngumu sana na inachukua muda. Hili si kosa la "1C-Bitrix: Usimamizi wa Tovuti". Hitilafu ya seva mara nyingi hutokea kwenye upangishaji pamoja kwa sababu ya rasilimali chache za mfumo.

Wakati kosa la seva linatokea, jambo la kwanza unahitaji kufanya ni kuangalia kosa la seva. logi. Faili hii inaweza kuwa na mstari na msimbo wa hitilafu.

· Mfano wa kawaida wa sababu ya hitilafu ya seva inaweza kuwa inazidi haki zinazoruhusiwa kwenye upangishaji.

Kwa mfano, jaribio linatokea la kutekeleza faili yenye sifa ambazo haziruhusiwi kukimbia kwenye seva (kwa mfano, faili ina sifa 0755, lakini inaruhusiwa 0711).

Sababu nyingine inayowezekana inaweza kuwa uwepo wa kikomo cha muda cha utekelezaji wa hati za PHP. Au mfumo hauna haki ya kuandika au kusoma faili, nk.

· Sababu nyingine ya kawaida ya hitilafu ya ndani ya seva ni ukiukaji wa usanidi wa seva au jaribio la kutumia maagizo ambayo hayajaidhinishwa, kama vile katika faili ya .htaccess. Katika kesi hii, unahitaji kutoa maoni au kufuta mstari ulio na maagizo yasiyoidhinishwa katika faili inayolingana (kwa mfano, .htaccess).

Kumbuka: Ikiwa PHP inafanya kazi kama CGI, basi hitilafu ya 500 kwenye seva inaweza kusababishwa na hitilafu mbaya ya PHP. Katika kesi hii, inashauriwa kuangalia msimbo wa programu na kutambua kosa.

htaccess faili - mipangilio na mifano ya matumizi - 3.8 kati ya 5 kulingana na kura 21

Faili ya htaccess inakuwezesha kusanidi na kufuta mipangilio ya seva ya mtandao ya Apache na seva zinazofanana. Kwa msaada wake, unaweza kuweka ruhusa na vigezo kwa seva kufanya kazi kwa watumiaji fulani wa mwenyeji na hata kwenye folda za kibinafsi za mtumiaji maalum.

Mara nyingi hutumiwa kuunda uelekezaji upya 301 kutoka kwa URL za zamani hadi mpya, ugawaji wa aina ya faili, ufikiaji wa saraka unaodhibitiwa, na mengi zaidi. Shukrani kwa faili ya htaccess, hakuna haja ya kufikia faili kuu ya usanidi na kuathiri uendeshaji mzima wa seva.

Faili ya htaccess ni nini na inatumika kwa nini?

Kama ilivyoelezwa, htaccess hutumiwa kuweka vigezo vya Apache na seva zingine. Licha ya ugani mkubwa na wa ajabu, kubinafsisha faili ya .htaccess inafanywa kwa kufungua na kubadilisha yaliyomo kwa kutumia mhariri wowote wa maandishi.

Faili ya htaccess ilivumbuliwa mahususi ili kutoa uwezo wa kubadilisha usanidi wa seva kwa kila mtumiaji, ikiathiri tovuti yao pekee, na sio seva nzima. Kila mtu anajua kwamba maagizo kuu ya usanidi wa Apache yanapatikana katika faili ya httpd.conf. Walakini, watumiaji wengi, na ikiwa tunazungumza juu ya mwenyeji wa pamoja, basi watumiaji wote, hawana uwezo wa kuipata na haki za kuirekebisha, kwani hatua hii itatumika kwa kila mtu.

Faili iliyo na kiendelezi cha htaccess mara nyingi huitwa dynamic. Hii ni kwa sababu seva lazima ifikie kila wakati inahitaji kufanya ombi kwenye saraka iliyo nayo. Labda hii ni faida kubwa, kwani mabadiliko yaliyofanywa na mtumiaji kwenye faili yataanza mara moja bila hitaji la kuanzisha tena seva. Ikiwa mabadiliko yanafanywa kwa faili kuu ya usanidi, kuanzisha upya seva ni sharti ili ianze kutumika.

Kwa kweli, sio kila kitu ni laini kama tungependa, kwani kutumia htaccess kuna athari kidogo juu ya utendaji wa seva, hata hivyo, katika kesi ya ufikiaji uliofungwa wa faili kuu ya usanidi, njia hii ndio njia rahisi na rahisi zaidi ya kubadilisha vigezo. .

Baadhi ya vipengele vya kutumia htaccess:

1. Inakuruhusu kubatilisha idadi kubwa ya maagizo yaliyoandikwa katika faili kuu ya httpd.confg

2. Ikiwa utaweka faili ya htaccess kwenye saraka ya mizizi, itasambazwa kwa tovuti nzima (isipokuwa tu itakuwa saraka ambazo faili yake ya usanidi iko, na saraka ziko chini katika muundo wa mti)

3. Unaweza kuweka faili ya htaccess katika saraka yoyote, na maagizo yake yatatumika kwa subdirectories zote.

4. Htaccess haipatikani kwa mtumiaji kwa kutazama kutoka kwa kivinjari, kwa kuwa ni ya kitengo cha "mfumo".

Kwa hivyo, kwa msaada wa htaccess, mtumiaji anapata kubadilika kwa kusanidi seva yake mwenyewe na anaweza kutumia vigezo vifuatavyo:

  • Maagizo rahisi ya uelekezaji upya (elekeza kwingine);
  • Maagizo changamano ya uelekezaji upya (mod_rewrite);
  • Kurasa za index;
  • Uchakataji wa hitilafu;
  • Ufafanuzi wa usimbaji;
  • Kusimamia ufikiaji wa saraka na faili;
  • Uwekaji nywila wa saraka;
  • Chaguzi za PHP.
Mifano ya matumizi ya kawaida ya faili ya htaccess

Sasa tutaangalia chaguzi za kawaida za kufanya kazi kwa kutumia htaccess kusanidi tovuti.

Kabla ya kuanza, tafadhali kumbuka mambo yafuatayo:

2. Ili kuunda faili mpya na ugani wa htaccess, unahitaji kufungua notepad au mhariri mwingine wa maandishi, kuandika msimbo, kuhifadhi faili, kutaja ugani wa .htaccess (dot mbele). Kisha kinachobakia ni kutupa kwenye saraka ambayo ilikusudiwa.

3. Syntax.htaccess

Njia za faili (saraka) zimeainishwa kutoka kwa mzizi wa seva.

DirectoryIndex /home/st5155/www/data/home.html

Ikiwa utasanidi faili ya htaccess iko kwenye folda ya mizizi ya tovuti, njia zinatajwa kutoka kwenye mzizi wa folda hii.

DirectoryIndex/home.html

Vikoa vimeandikwa kwa kutumia itifaki http:// au https://

Elekeza upya / http://your-sait.ru

Faili inaitwa "dot" htaccess.

Ili kuunda mstari wa maoni, tumia ishara #.

Njia rahisi zaidi ya kuhariri faili ni pamoja na kihariri cha AkelPad kilichojumuishwa kwenye Kamanda Jumla; chagua tu na ubonyeze F4.

Uelekezaji kwingine rahisi - Elekeza kwingine

1. Inaelekeza kwenye kurasa mpya za tovuti

Ikiwa kurasa kwenye tovuti zimehamishwa hadi kwenye anwani mpya, basi mtumiaji au roboti ya utafutaji inayotembelea anwani ya zamani huenda hataziona. Ili kuunganisha anwani za zamani na mpya za ukurasa, unaweza kutumia uelekezaji upya rahisi wa 301. Ili kufanya hivyo, unahitaji kuandika nambari ifuatayo kwenye faili ya usanidi ya htaccess:

Elekeza upya 301 /staraya.html http://vash-sait.ru/novaya.html

2. Kuleta milisho kwa umbizo la kawaida

Hapo awali, miundo mbalimbali ya malisho ilitumiwa, kama vile: Atom, RSS, Rdf. Leo, RSS ndio kuu na maarufu zaidi kati yao, kwa hivyo utunzaji unaweza kuchukuliwa ili kuhakikisha kuwa fomati zingine zinaelekezwa kuwa moja. Faili ya htaccess na nambari ifuatayo pia hutumiwa kwa hili:

RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://vash-sait.ru/feed/

Uelekezaji kwingine tata - Maagizo ya RewriteRule

1. Kuelekeza upya kikoa kutoka kwa www hadi isiyo ya www.

Mara nyingi sana lazima utumie uelekezaji upya 301 katika htaccess ili kuunganisha vikoa na www na bila www. Hapo awali, injini za utafutaji zilizingatia anwani hizo kuwa tofauti kabisa na kuziangalia kama tovuti tofauti. Leo, kazi ya gluing inapewa robot ya utafutaji, lakini sio wazo mbaya kuonyesha kioo sahihi. Kwa kuongeza, hakutakuwa na machafuko kwako mwenyewe.

Chaguo +FollowSymLinks RewriteEngine On RewriteCond %(HTTP_HOST) ^www.vash-sait\.ru$ RewriteRule ^(.*)$ http://vash-sait.ru/$1

2. Kuelekeza wageni kwenye kurasa tofauti kulingana na anwani ya IP ya mgeni.

Katika htaccess inawezekana kutaja ni ukurasa gani mtumiaji aliye na anwani maalum ya IP ataelekezwa tena. Kwa mfano, kuwaelekeza wageni walio na anwani ya IP 183.11.101.1 kwenye ukurasa wa kontakt.html

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

3. Uelekezaji upya katika kesi ya sasisho la rasilimali ya wavuti

Wakati wa kujaribu au kusasisha rasilimali, mtumiaji hataweza kufikia tovuti. Hata hivyo, itakuwa ni makosa kutomwonya kuhusu hili. Katika .htaccess unaweza kuandika msimbo ambao utaelekeza mtumiaji kwenye ukurasa wa habari unaoelezea asili ya tatizo (sababu, muda, n.k.).

RewriteEngine on RewriteCond %(REQUEST_URI) !/info.html$ RewriteCond %(REMOTE_HOST) !^14\.124\.354\.80 RewriteRule $ http://vash-sait.ru/info.html

Ambapo 14.124.354.80 - badilisha na anwani yako ya IP.

4. Ulinzi kutoka kwa viungo vya mawasiliano

Sio siri kuwa leo habari inaibiwa kutoka kwa wavuti mara nyingi zaidi. Wakati mwingine maandishi tu, na wakati mwingine pamoja na picha za picha. Na kila wakati mgeni anakuja kwenye tovuti ya mtu wa tatu, picha hizi zitapakiwa kutoka kwa mwenyeji wako, na kuunda mzigo na kuchoma trafiki. Ili kuzuia hili, ongeza nambari ifuatayo:

RewriteEngine On RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http://([ -a-z0-9] \.)?vash-sait\.ru RewriteRule \.(gif|jpe?g| png)$ -

Katika mfano ulio hapo juu, hitilafu ya 403 itaonekana kwenye tovuti inayopakia picha; ikiwa unataka picha mahususi ionyeshwe badala ya picha, basi badilisha mstari wa mwisho na ufuatao:

RewriteRule \.(jpg|png|gif)$ http://vash-sait.ru/images/imageinfo.jpg

5. Elekeza kwenye muunganisho salama wa https

Katika .htaccess unaweza kusanidi uelekezaji upya kwa muunganisho salama wa https ili watumiaji wote wafanye kazi tu kupitia itifaki hii, ambayo inahakikisha usalama na uaminifu wa uhamishaji wa data kati ya seva na mteja.

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

6. Ubadilishaji wa kiotomatiki wa kufyeka mwishoni mwa anwani.

Hali za kawaida ni wakati URL inaisha na jina la saraka: http://vash-sait.ru/images/raznoe

Apache inaweza kurekebisha hitilafu kwa kujitegemea na kufanya uelekezaji upya wa 301 kwa kuongeza mkwaju unaokosekana kwenye kiungo. Kwa hivyo, mtumiaji hatasikia tofauti yoyote na atapokea ukurasa unaohitajika kwa kujibu. Lakini itachukua muda mara mbili kukamilisha hatua hii. Nambari ifuatayo itaongeza kila wakati / mwisho wa anwani.

Andika Upya %(REQUEST_URI) /+[^\.]+$ Andika UpyaKanuni ^(.+[^/])$ %(REQUEST_URI)/

7. Kuzuia watumiaji waliotoka kwenye tovuti maalum

Ikiwa mmiliki wa tovuti hataki rasilimali yake kutembelewa na watumiaji walioingia kutoka kwa kikoa fulani na anahitaji kuzuia ufikiaji wao, htaccess pia iko tayari kusaidia. Unaweza kuzuia trafiki kutoka kwa tovuti fulani kwa kutumia ukurasa wa 403 au "kataa ufikiaji". Mipangilio hii ni muhimu wakati viungo vya tovuti yako vinapoonekana kutoka kwa tovuti zilizo na maudhui yaliyopigwa marufuku na trafiki inapita kwenye tovuti yako.

RewriteEngine on RewriteCond %(HTTP_REFERER) zapretnui-sait.com RewriteCond %(HTTP_REFERER) zapretnui-sait.com RewriteRule .* - [F]

Kurasa za fahirisi - Maagizo ya Saraka ya Saraka

1. Kubadilisha ukurasa wa faharasa chaguo-msingi uliopakiwa

Kwa kawaida, kurasa za faharasa chaguo-msingi ni index.htm, index.php au index.html; wakati wa kufikia saraka ya tovuti, faili hizi hutafutwa mara moja. Lakini ikiwa ni lazima, unaweza kufafanua upya ukurasa wa index kwa mwingine wowote. Shida kama hiyo pia inaweza kutatuliwa kwa kutumia faili ya htaccess.

DirectoryIndex mypage.html

Inawezekana kutaja kurasa mbili au zaidi. Inafaa kuzingatia kuwa zitatafutwa kwa mpangilio ambao zimeorodheshwa kwenye faili ya usanidi nyuma ya maagizo ya DirectoryIndex.

DirectoryIndex index.shtml index3.php index.html index.htm

Ushughulikiaji wa hitilafu - Maagizo ya Hati ya Error

1. Ukurasa wa hitilafu maalum

Licha ya ukweli kwamba tovuti nyingi bado zinatumia ukurasa wa kawaida wa makosa 404, kuna uwezekano wa kutosheleza mtumiaji ambaye hajapata matokeo yaliyotarajiwa na badala yake anaona habari ambayo haieleweki kwake. Inahitajika kupendekeza ukurasa ambao utaendana na mtindo kuu, ambao utaonyesha habari zaidi juu ya sababu za kutofaulu kwa ombi. Ili kufanya hivyo, unaweza kutaja katika htaccess ni faili gani ya kupakia badala ya ukurasa wa kawaida wa makosa 404.

ErrorDocument 404 "/404.html"

2. Unda kurasa zako za makosa

Kwa wale ambao wamechoka na kurasa za kawaida zinazoonyesha maelezo ya makosa yaliyotokea kwenye tovuti, wana fursa ya kutumia templates zao wenyewe. Unahitaji tu kuunda faili kadhaa mwenyewe na azimio la * .html, na maudhui muhimu, na uingie kwenye faili ya htaccess.

ErrorDocument 401 /errors401.html ErrorDocument 403 /errors403.html ErrorDocument 404 /errors404.html ErrorDocument 500 /errors505.html

Ili ujue nini cha kuweka kwenye kila ukurasa wa makosa, tutaelezea kwa ufupi maana zao.

  • 401 - Idhini Inahitajika
  • 403 - mtumiaji hajathibitishwa, ufikiaji umekataliwa (Haruhusiwi)
  • 404 - hati iliyoombwa (faili, saraka) haikupatikana (Haijapatikana)
  • 500 - hitilafu ya seva ya ndani - hitilafu ya hati au hitilafu katika sintaksia ya faili ya .htaccess - (Hitilafu ya Seva ya Ndani)
Ufafanuzi wa usimbaji

1. Kuamua encoding ambayo seva "inatuma" faili

Ili kuhakikisha kwamba mtumiaji haoni alama ambazo hazielewiki kwake kwenye maonyesho ya kufuatilia, ambayo haiwezekani kusoma maneno, ni muhimu kutaja encoding sahihi. Hata bila tag< Мета http-equiv = "Content-Type">maandishi kwenye ukurasa yatakuwa sahihi kila wakati na faili ya htaccess itasaidia na hii tena.

AddDefaultCharset UTF-8

2. Kuamua usimbaji wa faili zilizopakuliwa

Hali kama hiyo inaweza kutokea wakati mtumiaji anapakia faili kwenye seva na yaliyomo yanaweza kusimbwa tena. Ili usimbaji unaohitajika utumike, htaccess lazima iwe na msimbo unaoonyesha kwamba faili zote zilizopakuliwa zitahitajika kufunguliwa kwa usimbaji wa UTF-8.

CharsetSourceEnc UTF-8

Kusimamia ufikiaji wa saraka na faili

1. Kataa ufikiaji wa faili zote

Njia rahisi zaidi ya kuzuia kutazama faili ni kuweka nenosiri, lakini hii haitoshi kila wakati. Katika baadhi ya matukio, mtumiaji haipaswi kuwa na haki za kutazama faili au saraka yoyote (kwa mfano, unahitaji kuzuia saraka za mfumo, mabadiliko ambayo yanaweza kuharibu utendaji wa seva). Faili ya htaccess ina kipande cha msimbo ambacho kinawanyima watumiaji haki zote.

2. Ruhusu ufikiaji kutoka kwa IP maalum

.htaccess (kutoka kwa ufikiaji wa hypertext ya Kiingereza) ni faili ya ziada ya usanidi kwa seva ya wavuti ya Apache, na seva zingine zinazofanana.

Inapotumiwa kwa usahihi, faili ya usanidi wa seva ya wavuti ya Apache - .htaccess (ufikiaji wa maandishi ya hypertext) ni zana yenye nguvu sana katika zana ya msanidi programu. Kama kawaida, faili kuu iko katika saraka ya mizizi ya seva yako ya wavuti (kunaweza pia kuwa na faili tofauti katika kila folda ili kudhibiti ufikiaji) na inaweza kuhaririwa kwa kutumia kihariri chochote cha maandishi. Makala hii inakupa sheria 24 za .htaccess na maelezo ya matumizi yao.

Muhimu! Kwa kawaida, faili ya .htaccess imewekwa kwenye hosting (seva ya mtandao) pamoja na ufungaji wa tovuti, lakini ikiwa haipo, basi unaweza kuunda faili hii kwa kutumia notepad. Ili kufanya hivyo, fungua daftari, ongeza maagizo unayohitaji hapo, mifano ambayo itatolewa hapa chini, na uihifadhi kama hati ya maandishi inayoitwa .htaccess. Kisha ondoa kiendelezi cha .txt, na faili iko tayari.

Muhimu! Kabla ya kufanya mabadiliko kwenye faili ya .htaccess, unda nakala ya nakala yake ili ikiwa tovuti yako itashindwa, unaweza kurejesha mabadiliko yote.

Muhimu! Utendaji wa sheria (maagizo) yaliyoorodheshwa hapa chini inategemea mipangilio ya seva yako ya wavuti iliyowekwa na mpangishaji, kwa hivyo maagizo mengine yanaweza kupigwa marufuku na hayawezi kufanya kazi.

Muhimu! Kutumia vibaya matumizi ya .htaccess kunaweza kusababisha utendaji mbaya wa tovuti yako. Unapaswa kutumia .htaccess kutekeleza kazi fulani tu ikiwa hakuna chaguzi nyingine.

Kanuni.htaccess

1. Tunakataza kupakua faili kutoka kwa tovuti za nje
Msimbo ulio hapa chini, uliowekwa mwishoni mwa faili yako ya .htaccess, itazuia picha kupakia kutoka kwa rasilimali yako hadi tovuti za watu wengine, na hivyo kukuokoa trafiki unayotumia na kuzuia mzigo usio wa lazima kwenye upangishaji wako.

Chaguo +FollowSymlinks
#Tunapiga marufuku kupakua faili kutoka tovuti za nje
RewriteEngine Imewashwa
RewriteCond %(HTTP_REFERER) !^$
RewriteCond %(HTTP_REFERER) !^http://(www.)?your_domain.com/
RewriteRule .*.(gif|jpg|png)$ http://your_domain.com/img/goaway.gif

Usisahau kubadilisha your_domain.com hadi jina la kikoa chako na uunde picha ya goaway.gif ambayo itaonyeshwa badala ya picha iliyoombwa.

2. Zuia maombi yote kutoka kwa Mawakala wa Mtumiaji wasiotakikana
Sheria hii inakuruhusu kuzuia Mawakala wa Mtumiaji wasiotakikana ambayo yanaweza kuwa hatari au maombi yasiyo ya lazima ambayo yanapakia seva kupita kiasi:

#Kuzuia roboti na roboti zisizohitajika
SetEnvIfNoCase user-Agent ^FrontPage
SetEnvIfNoCase User-Agent ^Java.*
Wakala wa mtumiaji wa SetEnvIfNoCase ^Microsoft.URL
Wakala wa mtumiaji wa SetEnvIfNoCase ^MSFrontPage
Wakala wa mtumiaji wa SetEnvIfNoCase ^Offline.Explorer
SetEnvIfNoCase user-Agent ^ebandit
Wakala wa mtumiaji wa SetEnvIfNoCase ^Zeus

Agizo Ruhusu, Kataa
Ruhusu kutoka kwa wote
Kataa kutoka kwa env=bad_bot

Orodha ya vivinjari vya Wakala wa Mtumiaji, roboti za injini tafuti na buibui, saraka za wavuti, wasimamizi wa upakuaji, roboti taka na roboti mbaya inaweza kupatikana kwenye tovuti http://www.user-agents.org/

3. Kataa ufikiaji kwa kila mtu isipokuwa anwani maalum za IP
Ikiwa kwa sababu fulani, unataka kukataa kila mtu au kuruhusu tu anwani fulani za IP kufikia tovuti yako, ongeza msimbo huu kwenye faili yako ya .htaccess:

#Kataa ufikiaji kwa kila mtu isipokuwa anwani za IP zilizobainishwa
ErrorDocument 403 http://your_domain.com
Kataa agizo, ruhusu
Kataa kutoka kwa wote
Ruhusu kutoka IP1
Ruhusu kutoka IP2, nk.

Usisahau kubadilisha your_domain.com na IP1,2 nk. kwa jina la kikoa chako na anwani za IP zinazohitajika ipasavyo.

4. Unda orodha nyeusi ya anwani za IP
Ikiwa unahitaji kuzuia ufikiaji wa rasilimali yako kwa anwani fulani za IP, hii inaweza kufanywa kwa kutumia nambari ifuatayo iliyoongezwa kwenye faili ya .htaccess:

#Unda orodha nyeusi ya anwani za IP
kuruhusu kutoka kwa wote
kukataa kutoka IP1
kukataa kutoka IP2, nk.

Ikiwa sababu ya kuzuia anwani ya IP ni maoni ya barua taka yanayoudhi, unaweza kujua anwani za IP za watoa maoni kwenye kumbukumbu za Apache au kwa kutumia huduma za takwimu. Kwa WordPress, anwani za IP za mtoaji zinaweza kuonekana kwenye paneli ya msimamizi. Kwa njia hiyo hiyo, inawezekana kuzuia upatikanaji wa mtandao wa anwani za IP kwa kutaja "kukataa kutoka kwa IP / mask ya mtandao".

#Unda orodha isiyoruhusiwa kwa subnet
kuruhusu kutoka kwa wote
kukataa kutoka 192.168.0.0/24

5. Kuanzisha SEO-Rafiki 301 Ielekeze Upya
Iwapo umehamisha jina la kikoa au unataka kuelekeza upya mtumiaji kwa ukurasa maalum bila kuadhibiwa na injini za utafutaji, tumia msimbo huu:

#Kuweka Uelekezaji Upya wa SEO-Kirafiki 301
Elekeza upya 301 /d/file.html http://your_domain.com/r/file.html

Usisahau kubadilisha your_domain.com hadi jina la kikoa chako, na /d/file.html na /r/file.html kwa saraka na kurasa zinazolingana.

6. Unda kurasa zako za makosa
Ikiwa unataka kuongeza upekee wa rasilimali yako, na kwa hili unataka kubadilisha mwonekano wa kawaida wa kurasa za makosa, hii inawezekana kwa kutumia nambari ifuatayo:

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php

Usisahau kuunda folda ya "kosa" kwenye saraka ya mizizi ya seva yako na uweke faili zinazofaa ndani yake.

7. Weka anwani ya barua pepe chaguo-msingi kwa msimamizi wa seva
Tumia msimbo huu kuweka anwani chaguo-msingi ya barua pepe kwa msimamizi wa seva:

#Weka anwani chaguo-msingi ya barua pepe kwa msimamizi wa seva
Barua pepe ya Saini ya Seva
SetEnv SERVER_ADMIN default@your_domain.com

Usisahau kubadilisha default@your_domain.com na anwani ya barua pepe unayohitaji.

8. Linda faili maalum
Nambari hapa chini inakuwezesha kukataa upatikanaji wa faili yoyote - ombi litaonyesha kosa 403. Kwa mfano, upatikanaji wa faili ya .htaccess yenyewe inakataliwa - kwa njia hii unaweza kuongeza kiwango cha usalama wa tovuti:

#Linda faili ya .htaccess

agizo ruhusu, kataa
kukataa kutoka kwa wote

9. Finyaza vipengele vya tovuti kwa kuwezesha Gzip
Unapotumia Gzip, seva itabana faili kabla ya kuzituma kwa mtumiaji, kumaanisha kuwa tovuti yako itapakia haraka zaidi:

#Finya sehemu za tovuti kwa kuwezesha Gzip
AddOutputFilterByType DEFLATE text/html text/text text/xml application/xml application/xhtml+xml text/javascript/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0 no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

Tafadhali kumbuka kuwa kuwezesha mbano kutaweka mzigo mkubwa kwenye kichakataji cha seva.

10. Compress vipengele kwa kutumia mod_deflate
Kama mbadala wa kubana faili na Gzip, unaweza kutumia mod_deflate (inadaiwa haraka). Weka msimbo ufuatao mwanzoni mwa faili yako ya .htaccess (unaweza pia kuongeza .jpg|.gif|.png|.tiff|.ico):

#Finya vipengele kwa kutumia mod_deflate


SetOutputFilter DEFLATE

11. Ongeza maisha yote kwa vichwa
Nambari hii hukuruhusu kuongeza maisha kwa vichwa:

#Ongeza maisha kwa vichwa

Seti ya vichwa Inaisha Muda "Jumatano, 31 Desemba 2014 20:00:00 GMT+2"

12. Weka kurasa za chaguo-msingi
Kwa kawaida ukurasa chaguo-msingi ni index.html, hata hivyo kwa msimbo huu unaweza kuweka ukurasa mwingine wowote kama chaguomsingi:

#Weka ukurasa mbadala mbadala
DirectoryIndex yourpage.html

Usisahau kubadilisha yourpage.html na ukurasa unaohitaji

13. Nenosiri kulinda folda na faili
Unaweza kuwezesha uthibitishaji wa nenosiri ili kufikia folda au faili yoyote kwenye seva yako kwa kutumia msimbo huu:

#linda faili ya nenosiri

AuthType Msingi
AuthName "Prompt"

Inahitaji mtumiaji halali

#linda folda ya nenosiri
anakaa
AuthType msingi
AuthName "Saraka hii inalindwa"
AuthUserFile /pub/home/.htpasswd
AuthGroupFile /dev/null
Inahitaji mtumiaji halali

Ili kuandaa ufikiaji wa faili kwa kutumia nenosiri, unahitaji kuunda faili ya .htpasswd na uingize jozi ya kuingia-nenosiri ndani yake katika umbizo la mtumiaji:nenosiri. Hata hivyo, katika kesi hii, nywila zitahifadhiwa kwa maandishi wazi, ambayo si nzuri sana kutoka kwa mtazamo wa usalama. Kwa hiyo, suluhisho mojawapo itakuwa kusimba nenosiri. Ili kufanya hivyo, tumia huduma za kutengeneza rekodi kwenye faili za .htpasswd.
Kwa mfano, http://www.htaccesstools.com/htpasswd-generator/
Katika mfano, faili iliyo na nywila za ufikiaji iko kwenye saraka ya mizizi ya tovuti na inaitwa .htpasswd. Saraka imeonyeshwa kutoka kwa mzizi wa seva na ikiwa njia sio sahihi, Apache, bila ufikiaji wa faili, itakataa ufikiaji wa folda kwa mtumiaji yeyote - pamoja na yule aliyeingiza kuingia sahihi: jozi la nenosiri.

14. Elekeza upya kutoka kwa kikoa cha zamani hadi kwa mpya
Kwa kutumia .htaccess, unaweza kusanidi uelekezaji upya kutoka kwa jina la kikoa cha zamani hadi kipya kwa kuongeza msimbo ufuatao:

#Elekeza upya kutoka kwa kikoa cha zamani hadi kipya
RewriteEngine Imewashwa
Andika Upya Kanuni ^(.*)$ http://www.yournewdomain.com/$1

Uelekezaji kwingine hutumika unapohamisha tovuti yako iliyopo hadi kwa jina jipya la kikoa. Katika hali hii, mtumiaji yeyote anayeandika http://www.yourolddomain.com katika upau wa anwani ataelekezwa upya kwa http://www.yournewdomain.com.

15. Kuimarisha caching
Kutumia sheria hii haimaanishi moja kwa moja kuwa tovuti yako itapakia haraka. Imeundwa kupakia tovuti haraka kwa mgeni ambaye tayari ameitembelea, kwa kutuma hali ya 304 kwa vipengele hivyo ambavyo havijasasishwa. Kwa hivyo, ukurasa unapopakiwa upya, kivinjari cha mgeni hakitapakua tena picha, hati au CSS, lakini kitaonyesha faili hizo ambazo tayari zimehifadhiwa kwenye kashe yake. Unaweza kubadilisha maisha ya akiba kwa kurekebisha thamani yake katika miaka (mwaka), miezi (mwezi) au, kwa mfano, sekunde (sekunde):

#Imarisha uhifadhi
Ukubwa wa FileETtag MTime


InaishaImewashwa
InaishaChaguomsingi "ufikiaji pamoja na mwezi 1"


Mfano unaonyesha mwezi 1.

16. Kuondoa "kitengo" kutoka kwa URL
Ili kubadilisha kiunga kutoka kwa http://yourdomain.com/category/news hadi http://yourdomain.com/news, ongeza nambari ifuatayo mwisho wa faili yako ya .htaccess:

#Inaondoa kategoria kutoka kwa URL
RewriteRule ^category/(.+)$ http://www.yourdomain.com/$1

Usisahau kubadilisha http://www.yourdomain.com hadi jina la kikoa chako.

17. Tunakataza kutazama yaliyomo kwenye folda
Ili kuzuia ufikiaji wa saraka ambazo zinaweza kuwa na taarifa mbalimbali na kuhakikisha usalama wa seva, ongeza msimbo huu kwenye faili ya .htaccess:

#Lemaza kutazama yaliyomo kwenye folda
Chaguzi Zote -Fahasi

Kuna suluhisho mbadala ambalo litakuwa na matokeo sawa kwa kuweka faili tupu ya index.html katika kila folda kwenye tovuti yako. Njia hii itafanya kazi tu ikiwa haujabadilisha ukurasa chaguo-msingi (tazama sheria ya 12). Ikiwa mabadiliko yamefanywa, lazima uweke faili na jina jipya ambalo umeweka kama ukurasa chaguo-msingi.

18. Elekeza upya Mlisho wa RSS wa WordPress kwa FeedBurner
Msimbo huu hukuruhusu kuelekeza upya mpasho wa CMS WordPress RSS kwa huduma ya Google Feedburner:

#Elekeza upya Mlisho wa RSS wa WordPress kwa FeedBurner

RewriteEngine imewashwa
Andika Upya %(HTTP_USER_AGENT) !FeedBurner
Andika Upya %(HTTP_USER_AGENT) !FeedValidator
RewriteRule ^rss.xml$ http://feeds.feedburner.com/yourfeed

Awali, unahitaji kusajili mlisho wa blogu yako na huduma ya Google ya Feedburner. Kisha, usisahau kubadilisha mipasho yako na kuweka jina la mipasho yako ambayo tayari iko kwenye Feedburner.

19. Tunakataza maoni kutoka kwa watumiaji bila Mrejeleaji
Mara nyingi, spambots hufikia faili ya wp-comments-post.php moja kwa moja bila kutembelea kurasa za chapisho lako la blogi. Nambari iliyo hapa chini hukuruhusu kuzuia maoni yaliyotumwa na watumiaji ambao walikuja "bila kutarajia", kuruhusu maoni kwa wasomaji waliokuja kwenye ukurasa wako wa blogi kutoka kwa kurasa zingine (kwa mfano, matokeo ya utaftaji wa Google, Yandex, n.k.):

#Tunakataza maoni kutoka kwa watumiaji bila Mrejeleaji
RewriteEngine Imewashwa
Andika Upya %(REQUEST_METHOD) POST
RewriteCond %(REQUEST_URI) .wp-comments-post\.php*

RewriteCond %(HTTP_REFERER) !.*yourblog.com.*
Andika Upya %(HTTP_USER_AGENT) ^$
Andika Upya Kanuni (.*) ^http://%(REMOTE_ADDR)/$
Usisahau kubadilisha yourblog.com na kuweka jina la kikoa cha blogu yako.

20. Kuondoa kiendelezi cha faili kutoka kwa URL
Msimbo huu hukuruhusu kuondoa kiendelezi cha faili ya .php (unaweza kukibadilisha kuwa kitu kingine chochote, kama vile t2.html) kutoka kwa URL za ukurasa:

#Ondoa kiendelezi cha faili kutoka kwa URL
Andika Upya Kanuni ^(([^/]+/)*[^.]+)$ /$1.php [L]

21. Kulinda tovuti
Msimbo huu hukuruhusu kulinda tovuti yako dhidi ya kudunga hati na marekebisho yasiyotakikana "_REQUEST" na/au "GLOBALS":

#Wezesha ufuatiliaji wa viungo vya SIM
Chaguo +FollowSymLinks
#Anza kuandika_upya
RewriteEngine Imewashwa
#Zuia viungo vyote vilivyo na
Andika Upya %(QUERY_STRING) (\|%3E)
#Zuia hati zote zinazojaribu kubadilisha anuwai za PHP Globals:
Andika Upya %(QUERY_STRING) GLOBALS(=|\[|\%(0,2))
#Zuia hati zote zinazojaribu kubadilisha _REQUEST utofauti:
Andika Upya %(QUERY_STRING) _REQUEST(=|\[|\%(0,2))
#Elekeza upya zote zinazofanana kwa ukurasa na hitilafu 403 - marufuku
RewriteRule ^(.*)$ index.php

Leo nataka kuzungumza juu ya htaccess, faili ambayo inakuwezesha kusanidi seva ya wavuti ya Apache. Maagizo ambayo yameandikwa katika faili hii huathiri moja kwa moja matokeo yanayotokana na seva ya wavuti. Chombo hiki kina nguvu kabisa, unahitaji kuitumia kwa busara. Nakala hii iliandikwa zaidi ya miezi sita iliyopita, sasa ninairudia tena ili kuifanya iwe mwongozo wa kina zaidi juu ya mada hii.

Acha nikukumbushe mara moja kwamba kabla ya kubadilisha chochote katika htaccess, fanya nakala ya faili yako ya kufanya kazi mahali pa faragha. Huwezi kujua, chelezo kwa ujumla ni jambo zuri, usisahau kuihusu. Nitagawanya kifungu hicho katika vifungu kadhaa - uelekezaji wa ukurasa, kuzuia ufikiaji wa faili fulani, kuongeza kasi ya tovuti na vitu vingine ambavyo kwa njia moja au nyingine vinaweza kuwa muhimu katika utendakazi wa rasilimali.

Kuanza na, maneno machache, htaccess ni nini? Nitanukuu tovuti rasmi ya seva ya wavuti ya Apache:

Faili za Htaccess (au "faili za usanidi zilizosambazwa") hukuruhusu kuweka idadi kubwa ya vigezo na vibali vya ziada vya utendakazi wa seva ya wavuti katika saraka za kibinafsi (folda), kama vile ufikiaji wa saraka iliyodhibitiwa, ugawaji upya wa aina ya faili, nk. kubadilisha faili kuu ya usanidi.

Hiyo ni, tunaweza kudhibiti tabia ya seva katika kila folda ya mtu binafsi, ambayo ni rahisi sana.

htaccess maelekezo. Kuelekeza kwingine

Kuzuia viungo kutoka kwa tovuti zingine

Kuna watu wabaya ambao wanaweza kutumia picha kutoka kwa rasilimali yako kwa matumizi katika miradi yao. Wanatumia picha zako kwenye tovuti zao, kwa maneno mengine, wanatumia kipimo data chako kwa madhumuni yao wenyewe, sawa na . Tutapambana nao... Tutabadilisha picha yoyote ambayo kiungo cha mawasiliano huelekeza kutoka kwa tovuti nyingine na kuweka picha ya onyo au chochote ambacho mawazo yako yanaruhusu. Katika msimbo, usisahau kubadilisha anwani kwa URL zako.

RewriteEngine On RewriteCond %(HTTP_REFERER) !^http://(.+\.)?your-url\.com/ RewriteCond %(HTTP_REFERER) !^$ #Badilisha njia kuelekea kwenye Sheria ya Andika Upya .*\.(jpe? g| gif|bmp|png)$ /images/noHL.jpg [L]

Elekeza upya milisho ya RSS ya WordPress kwa Feedburner

Sidhani kama kuna mtu yeyote anatumia kitu kingine chochote isipokuwa Feedburner. Inafaa kwa mtumiaji, inafaa kwa mmiliki wa blogu, takwimu, tena. Ikiwa bado haujaitumia, ninaipendekeza sana. Msimbo ulio hapa chini utaelekeza upya milisho yako yote ya RSS kwa akaunti yako, kumbuka tu kubandika anwani unayotaka.

RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/yourfeed/

Mfano huu unaelekeza upya mitiririko miwili: RSS kuu na maoni ya kusasisha ikiwa mgeni amejiandikisha kupokea masasisho.

Wacha tubadilishe kurasa za makosa

Chochote kinaweza kutokea kwa mwenyeji na tovuti, kwa hivyo unahitaji kuwa tayari kwa matatizo mapema na kufanya kurasa zako za makosa. Na katika kesi ya matatizo, watumiaji wataelekezwa kwenye ukurasa unaofaa. Kwenye kurasa hizi unaweza kutoa maelezo mafupi kwa mtumiaji kuhusu kwa nini hii ilitokea. Acha anwani zako kama suluhu la mwisho.

ErrorDocument 400 /errors/badrequest.html ErrorDocument 401 /errors/authreqd.html ErrorDocument 403 /errors/forbid.html ErrorDocument 404 /errors/404.html ErrorDocument 500 /errors/Replacer.html njia ya kurasa zako za makosa

Mfano huu unaelekeza kwingine ikiwa kuna makosa makubwa. Pia niliongeza 404, ingawa CMS kawaida hushughulikia maswala kama haya, lakini kumekuwa na kesi.

301 na 302 elekeza upya au uelekeze upya

Uelekezaji upya wa 301 au kinachojulikana kama uelekezaji upya wa kudumu unamaanisha kuwa ukurasa umebadilisha anwani au URL yake na unaelekezwa kwenye ukurasa mpya. Ikiwa ulikuwa na ukurasa wa PS uliowekwa kwenye faharasa kwenye tovuti yako, na ukabadilisha anwani yake, hakikisha kuwa umeelekeza upya 301 kwenye ukurasa mpya. Kwa kuelekeza upya 301, ukurasa wa zamani haujaorodheshwa, na mpya "inabadilishwa" mahali pake.

RewriteEngine kwenye Redirect 301 /old-page http://your-url.ru/new-page

Kwa kweli, msomaji makini ataona mfano sawa hapo juu, katika kesi ya uelekezaji upya wa RSS. Ndiyo, teknolojia ni sawa.
Inatokea kwamba tovuti inahamia kwenye kikoa kipya, unahitaji kuhifadhi muundo wa viungo, na kunaweza kuwa na mamia na maelfu yao, ni unrealistic kuweka redirection kwa kila mmoja. Nambari hapa chini itakusaidia kukabiliana na hali hii:

Chaguo +FollowSymLinks RewriteEngine kwenye RewriteRule (.*)

Kuna mbinu ya kuvutia ya "kuficha" viungo vya nje kwa kutumia 301 redirects. Hebu tuseme una kiungo cha "kupita-kupitia" kwenye upau wa kando unaoelekea kwenye wasifu wako kwenye Google+, ni cha nje, yaani, kinaongoza kwa rasilimali ya nje. Ni nzuri sana kwa SEO wakati kuna viungo vichache iwezekanavyo. Unaweza kuzificha na kuzifanya za ndani.

Teknolojia ya kutengeneza viungo vya ndani kutoka kwa nje:

  • weka kiunga cha ukurasa wa kufikiria, sema site/google-plus
  • kusanidi uelekezaji upya wa 301 katika htaccess kutoka ukurasa huu hadi ukurasa halisi wa wasifu wako
  • mgeni hajisikii chochote, PS ameridhika

Unaweza kuweka viungo vingine vyovyote vya kudumu kwa masharti kwa njia sawa.
Uelekezaji upya wa 302 au uelekezaji upya wa muda huambia seva kuwa ukurasa umehamishwa kwa muda, kwa hivyo kurasa zote mbili, za zamani na mpya, zinahitaji kuorodheshwa.

RewriteEngine kwenye Redirect 302 /old-page http://your-url.ru/new-page

Nambari ni sawa na katika kesi ya uelekezaji upya wa kudumu.
302 kuelekeza upya ni rahisi kutumia wakati kazi yoyote ya muda mrefu inafanywa kwenye tovuti na hakuna haja ya kuonyesha wageni kurasa "zilizovunjwa". Katika kesi hii, nambari hii itakusaidia:

RewriteEngine on RewriteCond %(REQUEST_URI) !/inside.html$ RewriteCond %(REMOTE_ADDR) !^123.123.123.123 RewriteRule $ /inside.html

Tunabandika tovuti na bila www

Ni mbaya sana wakati tovuti inapatikana kwa anwani mbili; PSs haipendi kabisa. Nambari iliyo hapa chini itakusaidia gundi hii kwenye anwani moja:

Chaguo +FollowSymLinks RewriteEngine On RewriteCond %(HTTP_HOST) ^www.your-url\.com$ RewriteRule ^(.*)$ http://your-url.com/$1

Katika mfano huu, kioo kikuu ni anwani bila www. Ikiwa unahitaji kufanya kinyume, badilisha www katika maeneo, ondoa kutoka juu, ongeza hapa chini.

Onyesha kurasa kulingana na IP SetEnvIf REMOTE_ADDR 192.168.0.1 REDIR="redir" RewriteCond %(REDIR) redir RewriteRule ^/$ /about.html

Unaweza kuongeza anwani kwa kuiga mstari wa kwanza, na katika mstari wa mwisho, kubadilisha ukurasa kwa ajili ya kuelekeza upya.

Elekeza nyumbani

Uelekezaji upya kutoka kwa site.com/index.php na site.com/index.html hadi site.com/. Shukrani kwa Vasily Krasnozhenov kwa kanuni.

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://site.com RewriteCond %(THE_REQUEST) ^(3,9)\ /index\. php\ HTTP/ RewriteRule ^index\.php$ http://site.com

htaccess maelekezo. Tunashiriki ufikiaji

Inakataza ufikiaji wa tovuti

Inatokea kwamba ni muhimu kukataa upatikanaji wa wageni kutoka kwa IP fulani, spammers au mtu mwingine yeyote mbaya.

Agizo Ruhusu,Kata Ruhusu kutoka kwa wote Kataa kutoka 192.168.0.1

Unaweza kuongeza IP kwenye orodha kwa kuongeza tu mstari wa mwisho na kubadilisha anwani hapo kwa unayotaka.
Hali iliyo kinyume, wakati kila mtu anahitaji kupigwa marufuku isipokuwa baadhi ya IPs, basi tunatumia nambari ifuatayo:

Agiza Kataa, Ruhusu Kataa kutoka kwa wote Ruhusu kutoka 192.168.0.1

Ongeza anwani zinazofanana na mfano uliopita.

Tunakataza kutazamwa na Wakala wa Mtumiaji asiyetakikana

Kila kivinjari au programu inayoomba ukurasa, kwa njia moja au nyingine, ina kitambulisho - Wakala wa Mtumiaji. Unaweza kuzuia marafiki wasiohitajika kutazama. Hizi zinaweza kuwa programu zinazochanganua tovuti au vivinjari vya zamani ambavyo umeacha kabisa usaidizi. Hali ni tofauti.

SetEnvIfNoCase user-Agent ^FrontPage SetEnvIfNoCase user-Agent ^Java.* SetEnvIfNoCase user-Agent ^Microsoft.URL SetEnvIfNoCase user-Agent ^MSFrontPage Order Ruhusu,Kata Ruhusu kutoka kwa wote Kataa kutoka env=bad_bo

Orodha kamili ya Mawakala wa Mtumiaji wanaojulikana inaweza kupatikana kwenye tovuti http://www.user-agents.org/

Inakataza ufikiaji wa faili maalum

Katika mfano, ufikiaji wa faili za wp-config na htaccess ni marufuku, na hivyo kuongeza kiwango cha ulinzi wa jumla. Maagizo muhimu sana, napendekeza kuiongeza kwenye faili zako

# linda agizo la wpconfig.php ruhusu, kataa kutoka kwa # kulinda agizo la htaccess ruhusu, kataa kukataa kutoka kwa wote

Vile vile, unaweza kulinda faili za css na js ambazo hutumiwa na programu-jalizi:

Kuagiza kuruhusu, kukataa kuruhusu kutoka kwa wote

Pakua aina mahususi za faili

Vivinjari vya kisasa ni smart sana kwamba wakati mwingine inakuwa ya kutisha. Chrome yangu wakati mwingine hujaribu kufungua faili za PDF ndani yenyewe kwa kutazamwa, wakati mwingine hujinyonga hadi kufa. Kutumia htaccess, unaweza kumwambia kivinjari kwa nguvu nini cha kufanya na aina fulani ya faili, bila kuacha wakati huu kwa hiari yake. Katika kesi hii, inapakuliwa. Aina za faili za ziada zinaweza kuongezwa kwa njia sawa.

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

Kizuizi cha ufikiaji wa eneo la msimamizi wa WordPress

Ikiwa una anwani ya IP ya kudumu, unaweza kuipa ufikiaji wa paneli ya msimamizi ya WordPress pekee

AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Mfano wa Udhibiti wa Ufikiaji" Agizo la Msingi la AuthType ruhusu, kataa kutoka kwa kila idhini kutoka kwa IP Yako.

htaccess maelekezo. Uboreshaji wa kiufundi na kuongeza kasi

Zima uwekaji faharasa otomatiki wa faili

Katika kila folda kwenye tovuti, Apache huunda, kwa chaguo-msingi, faili za index ambazo zinaorodhesha faili zipi kwenye folda. Ikiwa hutaki kutoa mwanya wa ziada kwa washambuliaji, zima uwekaji faharasa.

Chaguzi -Fahasi

Washa mgandamizo wa gzip

Je! unajua kuwa data kwenye seva inaweza kubanwa, na mteja ataifungua? Nambari iliyo hapa chini inajumuisha tu kitu kama hicho. Unahitaji tu kuhakikisha kuwa gzip imewezeshwa kwenye mwenyeji wako, lakini kawaida huwashwa.

ForceType text/javascript Header set Content-Encoding: gzip ForceType text/css Header set Content-Encoding: gzip ForceType text/javascript RewriteEngine On RewriteCond %(HTTP_USER_AGENT) !".*Safari.*" RewriteCond %(HTTP:Kubali-Usimbaji) gzip RewriteCond %(REQUEST_FILENAME).gz -f RewriteRule (.*)\.js$ $1\.js.gz [L] ForceType text/javascript ForceType text/css RewriteEngine On RewriteCond %(HTTP_USER_AGENT) !".*Safari.* " RewriteCond %(HTTP:Accept-Encoding) gzip RewriteCond %(REQUEST_FILENAME).gz -f RewriteRule (.*)\.css$ $1\.css.gz [L] ForceType text/css

Nambari hiyo haifanyi kazi kwa picha, lakini haipendekezi kutumia gzip juu yao. Hii ndio nambari ambayo nimeweka.

Mfinyazo kwa kutumia mod_deflate

Uvumi una kwamba mod hii inabana data vizuri na kufanya tovuti kufanya kazi haraka. Siwezi kupima, na sijaona majaribio kama haya kwenye mtandao. Ikiwa kuna mtu ana habari kama hiyo, nitashukuru. Nitaweka msimbo, huwezi kujua

SetOutputFilter DEFLATE

Washa uhifadhi wa kivinjari cha mteja

Maagizo ya kuvutia ambayo hukuruhusu kutumia caching ya kivinjari. Aina za faili zilizobainishwa zimeandikwa kwenye akiba ya kivinjari na zitapakiwa kutoka hapo zikipigiwa simu tena, ambayo huongeza kasi ya jumla ya upakiaji wa tovuti na huweka mzigo mdogo kwenye upangishaji wako.

Kichwa ongeza Cache-Control "private" FileETag MTime Size InaishaImeisha Muda InaishaChaguo-msingi "ufikiaji pamoja na dakika 0" ExpiresByType image/ico "access plus 1 year" ExpiresByType text/css "access plus 1 year" InaishaKwaAina ya maandishi/javascript miaka 1" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/jpg "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/bmp "access plus 1 years" ExpiresByType image/png "access plus 1 year"

Bainisha usimbaji chaguomsingi

WordPress inafanya kazi na usimbuaji wa UTF8 na hufanya vizuri, lakini ili kuwa na uhakika wa kuzuia shida na usimbaji, lazimisha kubainishwa; haitakuwa mbaya zaidi.

AddDefaultCharset UTF-8

Kupunguza idadi ya miunganisho kwenye tovuti

Vivinjari vya kisasa vinaweza kuunda miunganisho kadhaa ya wakati mmoja kwa seva inayohudumia tovuti. Ikiwa huna rasilimali za kutosha, unaweza kupunguza idadi ya miunganisho.

MaxClients

Inapowekwa kwenye saraka ya mizizi, maagizo hufanya kazi kwa tovuti nzima, lakini ikiwa utaiweka kwenye folda na faili unazotuma kwa kupakua, unaweza kupunguza upakuaji kwa nyuzi kadhaa.

Kuruhusu php kuendeshwa ndani ya JavaScript

Wakati mwingine unahitaji kutekeleza nambari fulani ndani ya hati. Msimbo huu utasaidia kuwezesha kipengele hiki

AddType application/x-httpd-php .js AddHandler x-httpd-php5 .js SetHandler application/x-httpd-php

Hiyo ni kwa htaccess na matumizi yake ya kawaida. Sikutaja kulinda folda zilizo na nywila kwa sababu sidhani kama ni sawa, au "kulinda" dhidi ya barua taka kwa kuzuia maombi ya ombi bila kusambaza Mrejeleo, kwa sababu mashine zote za kisasa za barua taka zimeweza kufanya hivi kwa muda mrefu. Naam, na mambo mengine ambayo sidhani yalitekelezwa kwa usahihi.

Mwishowe, ningependa kukutambulisha kwa huduma ya kujaribu faili yako ya htaccess - http://htaccess.madewithlove.be/. Ni rahisi, kuwa na siku njema


Maoni: 112

  • Konstantin

    Kila kitu kiko sawa, tovuti yangu tu inaelekeza kwenye ukurasa wa 404 na seva inarudisha nambari 200.
    Unaweza kuniambia jinsi ya kuirekebisha?

  • Weka alama

    Asante kwa makala ya kina!

  • Riwaya

    Niambie, nilifuta sehemu, kurasa +300, jinsi ya kuelekeza kutoka kwa kurasa zote za sehemu ya tovuti hadi kuu. Ni nambari gani, hali gani ninapaswa kuongeza kando na hii? Andika upyaSheria ^raznoe(.*)$ /

  • Serge Holmberg

    Asante kwa makala. Makala muhimu sana. Ningependa kujua zaidi. Tunawezaje kuifanya ili ufikiaji wa saraka za tovuti uwezekane tu kupitia index.html na sio moja kwa moja? Hebu nielezee. Nina kurasa nyingi zilizounganishwa kwenye orodha yangu. Walakini, ninaweza kuomba kila moja kutoka kwa kivinjari. Wale. kwa mfano, kuna ukurasa_1.html katika saraka kuu. Kuingia kwake kunatoka kwa index.html (kuna kitufe hapo). Walakini, ninaweza kupakua ukurasa_1.html kando kwa kupata http://www.mysite.com/main/page_1.html. Jinsi ya kuzuia hili, jinsi ya kuhakikisha kuwa index.html pekee inapatikana kwa wageni wa tovuti, na kupitia hiyo upatikanaji wa kurasa nyingine. Hiyo ni, kubadilishana kati ya kurasa kuliwezekana tu ndani ya seva. Kisha wageni hawataweza kufungua kurasa zozote kwenye tovuti kiholela. Asante mapema. Asante.

  • Victor

    Habari! Asante kwa makala! Sasa ninaanzisha tovuti yangu ya kwanza. Nimeisoma kwa makini sana, asante tena! Nina swali kuhusu kulinda aina fulani za faili.
    Uliandika:
    "Vile vile, unaweza kulinda faili za css na js ambazo hutumiwa na programu-jalizi:
    #
    #amri ruhusu,kataza
    #ruhusu kutoka kwa wote
    #
    -mwisho wa kunukuu
    Je, kuna kosa la kuandika katika mstari wa pili hadi wa mwisho wa msimbo? Ikiwa tunataka kulinda faili hizi, labda DNY inapaswa kuwepo? Au ninakosa kitu?

  • klabu ya plum

    Asante sana kwa makala hiyo, sijaona maelezo hayo wazi na ya kueleweka kwa muda mrefu. Heshima

  • Donnelligh

    Imechelewa sana kunywa Borjomi wakati figo zako ziko kwenye choo!

  • Andrey

    Makala nzuri! Asante!

    Nina swali.

    Nina tovuti ya zamani bado katika .ASP, niliamua kuifanya upya, kubadilisha aina ya seva ya Wavuti, kusakinisha WordPress hapo na, ipasavyo, ilinibidi kuondoa kurasa zote za zamani za tovuti kwa sababu... Haifanyi kazi chini ya programu ya ASP. Sitaki waweze kufikiwa hata kidogo, kwa hivyo nilifanya subdomain (http://www.old.mysite.ru) na kuhamisha kila kitu cha zamani huko na kila kitu kinafanya kazi hapo.

    Sasa tunahitaji kuhakikisha kwamba ikiwa mtumiaji anapata ukurasa wowote wa ASP, anaelekezwa kiotomatiki kwa kikoa kidogo http://www.old.mysite.ru i.e. elekeza kwingine PEKEE kwa kurasa za ASP, usielekeze kwingine.

    na "www" inaweza kuwa au isiwe kwenye anwani

      Sina hakika ni nini unahitaji gundi. Onyesha kwenye mojawapo ya kurasa marufuku ya kuorodhesha na ndivyo hivyo

  • zeleniyalex

    Habari.
    Asante kwa makala, nyenzo bora, zilizoongezwa kwa alamisho.
    Nina swali. Nilibadilisha huduma uliyotaja kwa kuangalia faili ya htaccess.

    Umeingiza yako:
    # ANZA WordPress

    RewriteEngine Imewashwa
    RewriteBase /
    Andika Upya Kanuni ^index\.php$ - [L]
    Andika Upya %(REQUEST_FILENAME) !-f
    Andika Upya %(REQUEST_FILENAME) !-d
    RewriteRule. /index.php [L]

    Nilipata matokeo haya:
    # ANZA WordPress
    1
    2 RewriteEngine Imewashwa
    3 RewriteBase /
    4 Andika UpyaKanuni ^index\.php$ - [L]
    5 Andika Upya %(REQUEST_FILENAME) !-f ——————— Kigezo hiki hakitumiki: %(REQUEST_FILENAME)
    6 RewriteCond %(REQUEST_FILENAME) !-d ——————— Kigezo hiki hakitumiki: %(REQUEST_FILENAME)
    7 Andika UpyaKanuni. /index.php [L], ——————— Sheria hii haikufikiwa kwa sababu mojawapo ya masharti hayakutimizwa.
    8
    9#MWISHO WordPress

    Je, maoni ya aya ya 5,6,7 yanamaanisha nini?
    Asante.

  • Anti Out

    Victor, tafadhali niambie, ili kufanya gluing, unahitaji kuingia url ya tovuti yako, uhakika ni, sielewi. Je, com katika maelekezo yenyewe hubadilika au kubaki?
    Ni chaguo gani ni sahihi (kwa kutumia tovuti yako kama mfano)?

    Chaguo +FollowSymLinks
    RewriteEngine Imewashwa
    RewriteCond %(HTTP_HOST) ^www.gering111\.com$
    Andika Upya Kanuni ^(.*)$

      Chaguo la pili ni sahihi, tovuti ni mfano. Kwa upande wako inaweza kuwa site.ru au site.org

  • Oleg

    Nakala muhimu ya Mega !!!
    Lakini caching ya faili ya mteja sio Cache-Control "ya umma", lakini Cache-Control "ya faragha".
    Umma - kwenye seva ya wakala

      Hasa! Asante kwa umakini wako

  • Alexander

    Habari!
    Kulikuwa na tovuti kama site.ru/club/ Ni muhimu kuelekeza kurasa zote za tovuti hii kwenye ukurasa mmoja wa mpya wenye takriban muundo ufuatao: new-site.ru/step/stranica.html.
    Tafadhali niambie jinsi ya kufanya hivyo kwa usahihi kupitia htaccess?

  • Mikaeli

    Siku njema. Nilitaka kukuonya kuwa kwa kutumia nambari hii
    RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.html\ HTTP/
    RewriteRule ^index\.html$ http://site.com
    Andika Upya %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/
    RewriteRule ^index\.php$ http://site.com
    inaweza kuzuia ufikiaji wa paneli ya msimamizi wa tovuti, hii ilinitokea kwa CMS ShopScript na VamShop

      Ninatumia nambari hii na WP, ImageCMS - kila kitu ni sawa, hakuna shida. Kwa kweli, sijaijaribu kwenye mifumo mingine, kwa hivyo sitasema chochote.

  • Vlad

    Asante! mwishowe kila kitu kilinifanyia kazi na gzip !!!

  • Riwaya
  • Mikaeli

    Swali kuhusu kuelekeza kwingine.
    Ni muhimu kuelekeza kwenye ukurasa mmoja ikiwa tunapata kutoka kwa kivinjari, lakini kwa mwingine ikiwa kutoka kwa programu ya simu (sio kivinjari cha simu). Aidha, katika chaguzi zote mbili kuna kiungo cha kibinafsi kwenye mzizi wa tovuti.

      Vasily, sijawahi kuona kitu kama hiki, kusema ukweli ...

  • praktik_man

    Kila mahali kuna maelezo ya jumla tu ya HTACCESS, na kuna mifano michache halisi; itakuwa vizuri pia kuelezea syntax ya kile kinachotumiwa na nini.

  • praktik_man

    Je, unaweza kusaidia ikiwa mtu anajua jibu?
    Kuna katalogi

    http://site.ru/catalog.php/(rundo la kurasa tofauti)
    na ili ihamishe kutoka kwa anwani yoyote iliyoingizwa inayoanza na catalog.php hadi:

    http://site.ru/products/10
    na hakuna zaidi kilichoongezwa. yaani, kuelekeza tu kwenye saraka.

    Nilijaribu kupitia RedirectMatch ^catalog\.php(.+) http://site.ru/products/10
    Haifanyi kazi kwa njia hiyo ((

  • Siwezi kusaidia bado, niko mbali na kompyuta. Kwa mtazamo wa kwanza, kila kitu ni sawa. Uwezekano mkubwa zaidi kuna shida na syntax, lakini unahitaji kuangalia

  • praktik_man

    yaani, folda na ugani wa ukurasa umebadilika, lakini jina la bidhaa linabaki sawa.

    Nilielekeza upya katika fomu:
    RewriteRule ^content/(.+)$ http://site.ru/new folder/$1.html
    Na haifanyi kazi;(
    Shida ni nini?