2020. gada pilnīgs ceļvedis .HTACCESS – no pamatiem līdz padziļinātai apmācībai

Atklāšana: Jūsu atbalsts palīdz vietnei darboties! Mēs nopelnām nodošanas maksu par dažiem pakalpojumiem, kurus mēs iesakām šajā lapā.


Izmantojot .htaccess failu, jūs varat kontrolēt daudzus Apache tīmekļa servera aspektus (un tā daudzos variantus). Zemāk jūs uzzināsit visu, kas jums jāzina, kā iestatīt īpašas kļūdu lapas, ar paroli aizsargātus direktorijus, novirzīšanu un daudz ko citu.

Contents

Kā lietot šo rokasgrāmatu

Šī rokasgrāmata tika izstrādāta, lai kalpotu kā visaptverošs resurss .htaccess lietošanai. Ja esat pilnīgi jauns .htaccess lietojums – ieteicams sākt ar pirmo nodaļu “.htaccess Basics”.

Ja meklējat konkrētus koda paraugus vai apmācības, apskatiet navigāciju šīs lapas labajā pusē, lai tieši pārietu uz šīs lapas apakšsadaļām..

.htaccess pamati

Pirms ienirt komandās, iepazīsimies ar dažiem .htaccess pamatiem.

Kas ir .htaccess?

.Htaccess fails ir konfigurācijas fails, kas kontrolē to, kā tīmekļa serveris reaģē uz dažādiem pieprasījumiem. To atbalsta vairāki tīmekļa serveri, ieskaitot populāro Apache tīmekļa serveri, ko izmanto vairums komerciālo tīmekļa mitināšanas pakalpojumu sniedzēju.

.htaccess faili darbojas direktorija līmenī, ļaujot tiem ignorēt direktoriju kokā augstāk esošos .htaccess direktīvu globālos konfigurācijas iestatījumus.

Kā tiek izmantots .htaccess?

Daži izplatīti .htaccess lietojumi ietver vietrāžu URL novirzīšanu, vietņu (vai vietņu lapu) aizsardzību ar paroli. pielāgotu kļūdu lapu parādīšana (piemēram, 404 lapas); un SEO uzlabošana, izmantojot konsekventu slīpsvītru politiku.

Pēdējā gadījumā tīmekļa pārzinis var izvēlēties, vai nu katra vietnes URL galā pieprasīt slīpsvītru, vai nē.

Kāpēc to sauc par .htaccess?

.htaccess nozīmē “hiperteksta piekļuvi”. Nosaukums ir iegūts no rīka sākotnējā lietojuma, kas bija paredzēts, lai kontrolētu lietotāja piekļuvi noteiktiem failiem direktorijā.

Izmantojot Apache http.conf iestatījumu direktīvu apakškopu .htaccess ļāva sistēmas administratoram ierobežot piekļuvi atsevišķiem direktorijiem lietotājiem ar vārdu un paroli, kas norādīts pievienotajā .htpasswd failā.

Kamēr .htaccess faili joprojām tiek izmantoti, tie tiek izmantoti arī daudzām citām lietām, kuras mēs apskatīsim šajā rokasgrāmatā.

Kur ir .htaccess fails?

Teorētiski katrai servera mapei (direktorijai) varētu būt viena. Tomēr parasti jūsu tīmekļa saknes mapē ir viena – tā ir mape, kurā ir viss jūsu vietnes saturs, un parasti tā tiek apzīmēta ar kaut ko līdzīgu public_html vai www.

Ja jums ir viens direktorijs, kurā ir vairākas vietņu apakšdirektorijas, galvenajā saknes (public_html) direktorijā parasti būs .htaccess fails un arī viens katrā apakšdirektorijā (/ sitename)..

Kāpēc es nevaru atrast savu .htaccess failu??

Lielākajā daļā failu sistēmu failu nosaukumi, kas sākas ar punktu (.), Ir slēpti faili. Tas nozīmē, ka parasti tie pēc noklusējuma nav redzami.

Bet viņiem nav grūti nokļūt. Jūsu FTP klientam vai failu pārvaldniekam vajadzētu būt iestatījumam “rādīt slēptos failus”. Tas atradīsies dažādās vietās dažādās programmās, bet parasti atrodas sadaļās “Preferences”, “Iestatījumi” vai “Mapes opcijas”. Dažkārt jūs to atradīsit izvēlnē “Skats”.

Ko darīt, ja man nav .htaccess faila?

Pirmkārt, pārliecinieties, vai esat ieslēdzis “rādīt slēptos failus” (vai tā ekvivalentu), lai būtu drošs, ka jums tāda nav. Bieži vien .htaccess faili tiek izveidoti automātiski, tāpēc parasti tāds būs. Bet tas ne vienmēr notiek.

Ja tāda jums patiešām nav, varat to viegli izveidot:

  • Sāciet jaunu failu vienkārša teksta redaktorā.
  • Saglabājiet to ASCII formātā (nevis UTF-8 vai kaut kas cits) kā .htaccess.
    • Pārliecinieties, ka tas nav htaccess.txt vai kaut kas līdzīgs. Failam vajadzētu būt tikai nosaukumam .htaccess bez papildu faila paplašinājuma.
  • Augšupielādējiet to attiecīgajā direktorijā, izmantojot FTP vai pārlūka failu pārvaldnieku.

Kļūdu apstrāde

.Htaccess failu izmantošana kļūdu dokumentu norādīšanai ir ļoti vienkārša – viena no vienkāršākajām lietām, ko varat darīt ar šo funkciju.

Kas ir kļūdas kods?

Kad pieprasījums tiek iesniegts tīmekļa serverī, tas mēģina atbildēt uz šo pieprasījumu, parasti piegādājot dokumentu (HTML lapu gadījumā) vai piekļūstot lietojumprogrammai un atdodot izvadi (satura pārvaldības sistēmu un citas tīmekļa lietotnes).

Ja kaut kas notiek nepareizi, tiek radīta kļūda. Dažādiem kļūdu veidiem ir atšķirīgi kļūdu kodi. Jūs, iespējams, esat pazīstams ar kļūdu 404, kas tiek atgriezta, ja dokumentu nevar atrast serverī.

Ir daudz citu kļūdu kodu, ar kuriem serveris var atbildēt.

Klienta pieprasījuma kļūdas

  • 400 – slikts pieprasījums
  • 401 – nepieciešama atļauja
  • 402 – nepieciešamais maksājums (vēl nav izmantots)
  • 403 – aizliegts
  • 404 nav atrasts
  • 405 – metode nav atļauta
  • 406 – nav pieņemams (kodējums)
  • 407 – nepieciešama starpniekservera autentifikācija
  • 408 – pieprasījums ir beidzies
  • 409 – pretrunīgs pieprasījums
  • 410 – aizgājis
  • 411 – nepieciešamais satura garums
  • 412 – priekšnosacījums neizdevās
  • 413 – pārāk ilgs pieprasījuma pieprasījums
  • 414 – pieprasiet URI pārāk ilgi
  • 415 – neatbalstīts multivides veids.

Servera kļūdas

  • 500 – iekšējā servera kļūda
  • 501 – nav ieviests
  • 502 – slikta vārteja
  • 503 Pakalpojums nav pieejams
  • 504 – vārtejas noildze
  • 505 – HTTP versija netiek atbalstīta.

Noklusējuma kļūdu apstrāde

Ja nenorādīsit nevienu kļūdu apstrādes veidu, serveris ziņojumu vienkārši atgriezīs pārlūkprogrammā, un pārlūks parādīs lietotājam vispārīgu kļūdas ziņojumu. Tas parasti nav ideāli.

Kļūdu dokumentu norādīšana

Katram kļūdas kodam, kuru vēlaties apstrādāt, izveidojiet HTML dokumentu. Jūs varat tos nosaukt neatkarīgi no tā, kas jums patīk, taču ir noderīgi nosaukt tos, kas palīdzēs jums atcerēties, kas viņiem paredzēts, piemēram, nav atrasts.html vai vienkārši 404.html.

Pēc tam .htaccess failā norādiet, kuru dokumentu izmantot ar katru kļūdas veidu.

ErrorDocument 400 / kļūdas / bezmaksas pieprasījums.html
ErrorDocument 401 /errors/auth-reqd.html
ErrorDocument 403 / kļūdas / forbid.html
Kļūdas dokuments 404 / kļūdas / neattiecas.html
ErrorDocument 500 /errors/server-err.html

Ievērojiet, ka katra direktīva ir novietota uz savas līnijas.

Un tas arī viss. Ļoti vienkārši.

Alternatīvas uz .htaccess Kļūdu apstrādei

Lielākajai daļai satura pārvaldības sistēmu (CMS), piemēram, WordPress un Drupal, kā arī lielākajai daļai tīmekļa lietotņu būs savs veids, kā rīkoties ar lielāko daļu šo kļūdu kodu..

Aizsardzība ar paroli, izmantojot .htaccess

.Htaccess failu sākotnējais mērķis bija ierobežot piekļuvi noteiktiem direktorijiem, pamatojoties uz vienu lietotāju (tātad nosaukums, hiperteksta pieeja). Tāpēc mēs vispirms to apskatīsim.

.htpasswd

.Htaccess sistēmas lietotājvārdi un paroles tiek saglabāti faila nosaukumā .htpasswd.

Tos katrs glabā vienā rindā šādā formā:

lietotājvārds: šifrētsparole

piemēram:

johnsmith: F418zSM0k6tGI

Ir svarīgi saprast, ka failā saglabātā parole nav faktiskā parole, kuru izmanto, lai pieteiktos. Drīzāk tā ir paroles kriptogrāfiska sajaukšana..

Tas nozīmē, ka parole ir palaista caur šifrēšanas algoritmu, un rezultāts tiek saglabāts. Kad lietotājs piesakās, tiek ievadīta vienkārša teksta parole, kas darbojas ar to pašu algoritmu. Ja ievade ir vienāda, paroles sakrīt, un lietotājam tiek piešķirta piekļuve.

Šādi saglabājot paroles, tās kļūst drošākas – ja kādam būtu pieeja jūsu .htpasswd failam, viņš redzētu tikai sajauktas paroles, nevis oriģinālus. Un nav iespējams rekonstruēt oriģinālus no hash – tā ir vienvirziena šifrēšana.

Var izmantot vairākus dažādus sajaukšanas algoritmus:

  • Droši algoritmi – izmantojiet vienu no šiem
    • bcrypt – tas ir visdrošākais, bet arī lēnākais, ko aprēķināt. To atbalsta Apache un Nginx.
    • md5 – tas ir noklusējuma sajaukšanas algoritms, ko izmanto pašreizējās Apache versijas. Nginx to neatbalsta.
  • Nedroši algoritmi – nelietojiet tos
    • crypt () – tā agrāk bija noklusējuma sajaukšanas funkcija, taču tā nav ļoti droša.
    • SHA un sālīta SHA.

Lietotājvārdu un paroļu izveidošana komandrindā

Jūs varat izveidot .htpasswd failu un pievienot tam lietotājvārda un paroles pārus tieši no komandrindas vai SSH termināļa.

Komanda, kas nodarbojas ar .htpasswd failu, ir vienkārši htpasswd.

Lai izveidotu jaunu .htpasswd failu, izmantojiet komandu ar opciju -c (izveidot), pēc tam ierakstiet ceļu uz direktoriju (nevis URL, faktisko ceļu uz servera). Varat arī iekļaut lietotāju, kuru vēlaties pievienot.

> htpasswd -c /usr/local/etc/.htpasswd johnsmith

Tas izveido jaunu .htpasswd failu direktorijā / etc / un pievieno ierakstu lietotājam ar nosaukumu johnsmith. Jums tiks prasīts ievadīt paroli, kura arī tiks saglabāta, izmantojot md5 šifrēšanu.

Ja norādītajā vietā jau ir .htpasswd fails, jauns netiek izveidots – jaunais lietotājs tiek vienkārši pievienots esošajam failam.

Ja vēlaties izmantot bcrypt sajaukšanas algoritmu, izmantojiet opciju -b.

Paroles sajaukšana bez komandrindas

Ja nejūtas ērti, lietojot komandrindu vai SSH termināli (vai ja kaut kādu iemeslu dēļ jums tam nav piekļuves), varat vienkārši izveidot .htpasswd failu un aizpildīt to, izmantojot vienkārša teksta redaktoru, un to augšupielādēt. izmantojot FTP vai failu pārvaldnieku.

Bet tad jums kaut kā būs jāšifrē paroles, jo komanda htpasswd par to rūpējās.

Tiešsaistē ir pieejami daudzi .htpasswd šifrēšanas utilīti. Vislabākais, iespējams, ir htpasswd ģenerators vietnē Aspirine.org.

Tas dod jums vairākas iespējas sajaukšanas algoritmam un paroles stiprumam. Jūs varat vienkārši nokopēt un ielīmēt izvadi no turienes .htpasswd failā.

Kur saglabāt .htpasswd failu

Katram .htaccess failam nav nepieciešams atsevišķs .htpasswd fails. Patiesībā jums to nevajadzētu darīt. Parasti normālos apstākļos tāds ir jābūt visam tīmekļa mitināšanas kontam vai galvenā servera direktorijai.

.Htpasswd failam nevajadzētu atrasties publiski pieejamā direktorijā – nevis public_html vai www vai kādā apakšdirektorijā. Tam vajadzētu būt virs tiem, kas atrodas mapē, kurai var piekļūt tikai no paša servera.

Kā lietot .htpasswd ar .htaccess

Katrā direktorijā var būt savs .htaccess fails ar savu lietotāju kopu, kam ir atļauts tam piekļūt.

Ja vēlaties, lai kāds (ieskaitot lietotājus, kas nav reģistrējušies) piekļūtu direktorijam un tā failiem, vienkārši nedariet neko – tas ir noklusējums.

Lai ierobežotu piekļuvi, .htaccess failam jāpievieno šādi dati:

AuthUserFile /usr/local/etc/.htpasswd
AuthName "Drošās zonas nosaukums"
AuthType Basic

pieprasīt derīgu lietotāju

Pirmajā rindā norādīts ceļš un faila nosaukums uz jūsu lietotājvārdu un paroļu sarakstu. Otrajā rindā norādīts aizsargājamās zonas nosaukums. Tas var būt jebkas, kas jums patīk. Trešajā rindā ir norādīta “pamata” autentifikācija, kas jums parasti ir nepieciešama.

Tags norāda, kas tiek ierobežots (šajā gadījumā iespēja GET vai POST iegūt jebkuram failam direktorijā). Tagu pārī ir to personu saraksts, kurām ir atļauts piekļūt failiem.

Iepriekš minētajā piemērā failiem var piekļūt jebkurš derīgs lietotājs. Ja vēlaties ierobežot piekļuvi noteiktam lietotājam vai dažiem lietotājiem, varat tos nosaukt.

AuthUserFile /usr/local/etc/.htpasswd
AuthName "Drošās zonas nosaukums"
AuthType Basic

pieprasīt lietotājam johnsmith
pieprasīt lietotājam janedoe

Varat arī ievietot lietotājus grupās un atļaut piekļuvi, pamatojoties uz grupu. Tas tiek darīts, pievienojot citu failu, kurā norādītas grupas.

Grupas fails, kuru varētu nosaukt (piemēram) .htgroups, izskatās šādi:

admin: johnsmith janedoe
personāls: jackdoe cindysmith

Tad jūs varat to norādīt .htaccess failā:

AuthUserFile /usr/local/etc/.htpasswd
AuthGroupFile /usr/local/etc/.htgroup
AuthName "Administratora zona"
AuthType Basic

pieprasīt grupas administratoru

Alternatīvas .htpasswd

.Htaccess un .htpasswd izmantošana, lai ierobežotu piekļuvi noteiktiem servera failiem, ir jēga tikai tad, ja jums ir daudz statisku failu. Funkcija tika izstrādāta, kad tīmekļa vietnes parasti bija HTML dokumentu un ar tiem saistīto resursu kolekcija.

Ja jūs izmantojat satura pārvaldības sistēmu (CMS), piemēram, WordPress vai Drupal, varat izmantot iebūvētās lietotāju pārvaldības funkcijas, lai ierobežotu vai piešķirtu piekļuvi saturam.

Iespējot servera pusē iekļautos (SSI)

Tagad uzzināsim, kas ir servera puses iekļaušana un kā jūs tos varat izmantot.

Kas ir servera pusē??

SSI jeb servera puse iekļauj, ir viegla skriptu valoda, ko galvenokārt izmanto HTML dokumentu iegulšanai citos HTML dokumentos. Tādējādi ir viegli atkārtoti izmantot kopīgus elementus, piemēram, galvenes, kājenes, sānjoslas un izvēlnes. Jūs to varat uzskatīt par mūsdienu veidņu un satura pārvaldības sistēmu priekšteci.


SSI ir arī nosacītas direktīvas (ja citas, utt.) Un mainīgie, padarot to par pilnīgu, ja kaut nedaudz grūti lietojamu skriptu valodu. (Parasti jebkurš projekts, kas ir sarežģītāks par nelielu iekļaušanu, liks izstrādātājam izvēlēties stabilāku valodu, piemēram, PHP vai Perl.)

Iespējot SSI

Dažiem tīmekļa mitināšanas serveriem pēc noklusējuma būs iespējota servera puse iekļaušana. Ja nē, varat to iespējot ar .htaccess failu, piemēram:

AddType teksts / html .shtml
AddHandler serverī parsēts .shtml
Opciju indeksi FollowSymLinks Ietver

Tam vajadzētu iespējot SSI visiem failiem, kuriem ir .shtml paplašinājums.

SSI .html failos

Ja vēlaties iespējot SSI parsēšanu .html failos, varat pievienot direktīvu, lai to paveiktu:

AddHandler serverī parsēts .html

Ieguvums no tā ir tas, ka varat izmantot SSI, neinformējot pasauli, ka to izmantojat. Turklāt, ja nākotnē mainīsit ieviešanu, varat saglabāt .html failu paplašinājumus.

Negatīvie ir tas, ka katrs .html fails tiks parsēts ar SSI. Ja jums ir daudz .html failu, kuriem faktiski nav nepieciešama SSI parsēšana, tas var radīt daudz nevajadzīgu servera pieskaitījumu, palēninot lapas ielādes laiku un izmantojot CPU resursus.

SSI jūsu rādītāja lapā

Ja jūs nevēlaties parsēt visus .html failus, bet vēlaties izmantot SSI savā rādītāja (mājas) lapā, jums tas būs jānorāda .htaccess failā.

Tas ir tāpēc, ka tad, kad tīmekļa serveris meklē direktorijas indeksa lapu, tas meklē index.html, ja vien jūs to nesakāt citādi.

Ja neizveidojat .html failus, SSI darbībai jums būs nepieciešama jūsu indeksa lapa ar nosaukumu index.shtml, un jūsu serveris nezina, ka pēc noklusējuma to meklē..

Lai to iespējotu, vienkārši pievienojiet:

DirectoryIndex index.shtml index.html

Tas brīdina tīmekļa serveri, ka index.shtml fails ir galvenais direktorija indeksa fails. Otrais parametrs, index.html, ir dublējums, ja index.shtml nevar atrast.

IP melnais saraksts un IP baltais saraksts

Varat izmantot .htaccess, lai bloķētu lietotājus no noteiktas IP adreses (melnajā sarakstā). Tas ir noderīgi, ja esat identificējis atsevišķus lietotājus no konkrētām IP adresēm, kas ir radījušas problēmas.

Varat arī veikt apgriezto darbību, bloķējot visus, izņemot apmeklētājus, no noteiktas IP adreses (baltajā sarakstā). Tas ir noderīgi, ja jums jāierobežo piekļuve tikai apstiprinātiem lietotājiem.

IP iekļauts melnajā sarakstā

Lai bloķētu noteiktas IP adreses, vienkārši izmantojiet šo direktīvu un atbilstošās IP adreses:

rīkojums atļauj, noliedz
noliegt no 111.22.3.4
noliegt no 789.56.4.
atļauties no visiem

Pirmajā rindā teikts, ka atļauju direktīvas tiks vērtētas vispirms pirms direktīvu noraidīšanas. Tas nozīmē, ka noklusējuma statuss būs atļaut no visiem, un tad tiks noraidīti tikai tie, kas atbilst nolieguma direktīvām.

Ja tas tiktu mainīts, lai pasūtītu liegt, atļaut, tad pēdējā vērtētā lieta būtu atļauja no visas direktīvas, kas ļautu ikvienam, pārspējot noliedzošos paziņojumus..

Ievērojiet trešo rindu, kas ir noliegusi no 789.56.4. – tā nav pilnīga IP adrese. Tādējādi tiks liegtas visas IP adreses šajā blokā (visas, kas sākas ar 789.56.4).

Jūs varat iekļaut tik daudz IP adreses, cik vēlaties, vienu katrā rindiņā, liedzot direktīvu.

Baltajā sarakstā, izmantojot IP

Melnajā sarakstā ir iekļauts baltajā sarakstā – ierobežo visus, izņemot tos, kurus jūs norādāt.

Kā jūs varat uzminēt, pasūtījumu direktīva ir jāatsauc tā, lai vispirms visi tiktu noraidīti, bet pēc tam atļautas noteiktas adreses.

pasūtījums noliegt, atļaut
noliegt no visiem
atļaut no 111.22.3.4
atļaut no 789.56.4.

Bloķēšanas darbības

.htaccess var izmantot, lai bloķētu lietotājus pēc domēna vai novirzītāja. Un jūs to varat izmantot, lai bloķētu robotprogrammatūras un skrāpjus. Noskaidrosim kā.

Kā bloķēt lietotājus pēc domēna

Varat arī bloķēt vai atļaut lietotājiem, pamatojoties uz domēna vārdu. Tas var palīdzēt bloķēt cilvēkus, pat pārejot no IP adreses uz IP adresi.

Tomēr tas nedarbosies pret cilvēkiem, kuri var kontrolēt savu apgriezto DNS IP adreses kartēšanu.

rīkojums atļauj, noliedz
noliegt no example.com
atļauties no visiem

Tas darbojas arī apakšdomēnos – iepriekšējā piemērā tiks bloķēti arī vietnes xyz.example.com apmeklētāji.

Kā bloķēt lietotājus, izmantojot novirzītāju

Norādītājs ir vietne, kurā ir saite uz jūsu vietni. Kad kāds seko saitei uz jūsu vietnes lapu, vietne, no kuras viņi nāca, ir novirzītājs.

Tomēr tas neattiecas tikai uz klikšķināmām hipersaitēm uz jūsu vietni.

Lapas jebkur internetā var tieši saistīt ar jūsu attēliem (“karstā saite”) – izmantojot jūsu joslas platumu un, iespējams, pārkāpjot jūsu autortiesības, nesniedzot jums nekādu labumu trafika ziņā. Viņi var arī karsto saiti uz jūsu CSS failiem, JS skriptiem vai citiem resursiem.

Lielākajai daļai vietņu īpašnieku tas notiek, ja tas notiek tikai nedaudz, bet dažreiz šāda veida lietas var pārvērsties par ļaunprātīgu izmantošanu.

Turklāt dažreiz faktiskas ar tekstu noklikšķināmas hipersaites ir problemātiskas, piemēram, ja tās nāk no naidīgām vietnēm.

Visu šo iemeslu dēļ, iespējams, vēlēsities bloķēt pieprasījumus no konkrētiem novirzītājiem.

Lai to izdarītu, jums ir jāiespējo mod_rewrite modulis. Pēc noklusējuma tas ir iespējots lielākajai daļai tīmekļa mitinātāju, taču, ja tas tā nav (vai neesat pārliecināts), parasti varat vienkārši pajautāt savam mitināšanas uzņēmumam. (Ja viņi to nevar vai nevar iespējot, ieteicams padomāt par jaunu resursdatoru.)

.Htaccess direktīvas, kas veic bloķēšanu, pamatojoties uz atsauci, balstās uz mod_rewrite motoru.

Kods, kuru novirzīt novirzītājs, izskatās šādi:

RewriteEngine ieslēgts
RewriteCond% ^ http: //.*example.com [NC, OR]
RewriteCond% ^ http: //.*anotherexample.com [NC, OR]
RewriteCond% ^ http: //.*onemoreexample.com [NC]
RewriteRule. * – [F]

Tas ir nedaudz grūts, tāpēc ļaujiet tam izstaigāt.

Pirmā rinda RewriteEngine ieslēgta brīdina parsētāju, ka tuvojas virkne ar pārrakstīšanu saistītu direktīvu.

Nākamās trīs līnijas bloķē vienu atsauces domēnu. Daļa, kas būtu jāmaina personīgai lietošanai, ir domēna nosaukums (piemērs) un paplašinājums (.com)..

Atpakaļejošā josla pirms .com ir aizbēgšanas raksturs. Domēna nosaukumā izmantotā modeļa atbilstība ir regulāra izteiksme, un punkts nozīmē kaut ko RegEx, tāpēc tas ir jāatstāj, izmantojot aizmugures slīpsvītru..

Iekavās norādītā NC norāda, ka sakritībai nevajadzētu būt reģistrjutīgai. VAI ir burtisks “vai” un nozīmē, ka ir spēkā citi noteikumi. (Tas ir – ja URL ir šis vai šis, vai šis, ievērojiet šo pārrakstīšanas noteikumu.)

Pēdējā rinda ir faktiskā pārrakstīšanas kārtula. [F] nozīmē “aizliegts”. Visi pieprasījumi ar novirzītājiem, kas atbilst sarakstā iekļautajiem, neizdosies, un tiks parādīta kļūda 403 Forbidden.

Botu un tīmekļa skrāpju bloķēšana

Viens no kaitinošākajiem vietnes pārvaldības aspektiem ir atklājums, ka jūsu joslas platumu apēd apmeklētāji, kas nav cilvēki – robotprogrammatūras, roboti, tīmekļa skrāpi.

Šīs ir programmas, kas izstrādātas, lai izvilktu informāciju no jūsu vietnes, parasti ar mērķi to atkārtoti publicēt kā daļu no zemas kvalitātes SEO operācijas.

Tur, protams, ir likumīgas robotprogrammatūras – piemēram, no lielākajām meklētājprogrammām. Bet pārējie ir kā kaitēkļi, kas vienkārši iztērē jūsu resursus un nedod jums nekādu vērtību.

Ir identificēti vairāki simti robotu. Jūs nekad nevarēsit bloķēt tos visus, bet jūs varat apturēt aktivitātes līdz blāvai rēcienam, bloķējot pēc iespējas vairāk.

Ir noderīgs pārrakstīšanas noteikumu kopums, kas bloķē vairāk nekā 400 zināmus robotprogrammatūras, kurus apkopojusi AskApache.

Noklusējuma faila norādīšana direktorijam

Ja tīmekļa serverim tiek pieprasīts URL, kurā nav norādīts faila nosaukums, lielākajā daļā tīmekļa serveru tiek iebūvēts pieņēmums, ka URL attiecas uz direktoriju.

Tātad, ja jūs pieprasāt vietni http://example.com, Apache (un vairums citu tīmekļa serveru) meklēs domēna saknes direktorijā (parasti / public_html vai kaut kas līdzīgs, bet varbūt / example-com) pēc noklusējuma failu.

Noklusējuma failu pēc noklusējuma sauc par index.html. Tas attiecas uz interneta sākumu, kad vietne bija tikai dokumentu kolekcija, un “mājas lapa” parasti bija šo dokumentu indekss.

Bet jūs, iespējams, nevēlaties, lai index.html būtu noklusējuma lapa. Piemēram, jums var būt nepieciešams cits faila tips, piemēram, index.shtml, index.xml vai index.php.

Vai arī jūs, iespējams, nedomājat par savu mājas lapu kā “indeksu” un vēlaties to saukt par kaut ko citu, piemēram, home.html vai main.html.

Noklusējuma direktorijas lapas iestatīšana

.htaccess ļauj viegli iestatīt direktorija noklusējuma lapu:

DirectoryIndex [faila nosaukums šeit]

Ja vēlaties, lai jūsu noklusējuma iestatījums būtu home.html, tas ir tik vienkārši:

DirektorijaIndex home.html

Vairāku noklusējuma lapu iestatīšana

Varat arī norādīt vairāk nekā vienu DirectoryIndex:

DirectoryIndex index.php index.shtml index.html

Veids, kā tas darbojas, ir tāds, ka Web serveris vispirms meklē pirmo. Ja tā to nevar atrast, tiek meklēts otrais utt.

Kāpēc jūs vēlaties to darīt? Protams, jūs zināt, kuru failu vēlaties izmantot kā noklusējuma lapu, vai ne?

Atcerieties, ka .htaccess ietekmē paša direktoriju un katru apakšdirektoriju, kamēr to nepārspēj vietējais fails. Tas nozīmē, ka .htaccess fails jūsu saknes direktorijā var sniegt instrukcijas daudzām apakšdirektorijām, un katrai no tām var būt savs noklusējuma lapas nosaukums..

Spēja ievietot šos noteikumus saknē vienā .htaccess failā nozīmē, ka jums nav jākopē visas pārējās failā esošās direktīvas katrā direktorija līmenī.

URL novirzīšana un URL pārrakstīšana

Viens no biežākajiem .htaccess failu lietojumiem ir URL novirzīšana.

URL novirzīšana jāizmanto, ja ir mainīts dokumenta vai resursa URL. Tas ir īpaši noderīgi, ja esat pārkārtojis savu vietni vai mainījis domēna vārdus.

301 pret 302 novirzīšana

Raugoties no pārlūka viedokļa, pastāv divu veidu novirzīšana – 301 un 302. (Šie skaitļi norāda uz tīmekļa servera ģenerēto kļūdas kodu.)

301 nozīmē “pastāvīgi pārvietots”, savukārt 302 nozīmē “īslaicīgi pārvietots”. Vairumā gadījumu jūs vēlaties izmantot 301. Tādējādi tiek saglabāts viss sākotnējā URL esošais SEO resurss, nododot to jaunajā lapā.

Tas arī liks lielākajai daļai pārlūkprogrammu atjaunināt grāmatzīmes. Lielākā daļa pārlūkprogrammu arī kešatmiņā saglabā jauno un jauno kartēšanu, tāpēc viņi vienkārši pieprasa jauno URL, kad saite vai lietotājs mēģina piekļūt oriģinālam. Ja vietrādis URL ir neatgriezeniski mainīts, visi šie rezultāti ir vēlami.

302 novirzījumu izmantošanai ir ļoti mazs iemesls, jo parasti ir ļoti maz iemeslu īslaicīgi mainīt URL. URL mainīšana jebkad ir nevēlama, taču dažreiz tā ir nepieciešama. Uz laiku mainīt to ar plānu vēlāk to mainīt vēlāk ir slikta ideja, un gandrīz vienmēr no tā var izvairīties.

Visos šīs sadaļas piemēros tiks izmantota novirzīšana 301.

Novirzīt pret pārrakstīt

Ir divi dažādi veidi, kā “mainīt” URL ar .htaccess direktīvām – komanda Novirzīt un mod_rewrite dzinējs.

Komanda Novirzīt faktiski pārlūkam nosūta novirzīšanas ziņojumu, norādot, kādu citu URL meklēt.

Parasti rīks mod_rewrite “tulko” vienu vietrādi URL (pieprasījumā norādīto) tādā, ko failu sistēma vai CMS sapratīs, un pēc tam apstrādā pieprasījumu tā, it kā tulkotais URL būtu pieprasītais URL..

Ja to izmanto, tīmekļa pārlūks nepamana, ka kaut kas ir noticis – tas vienkārši saņem saturu, kuru lūdza.

Mod_rewrite rīku var izmantot arī, lai iegūtu 301 novirzīšanu, kas darbojas tāpat kā komanda Redirect, taču ar vairākām opciju iespējām – mod_rewrite var būt sarežģītas shēmu saskaņošanas un pārrakstīšanas instrukcijas, kuras Redirect nevar izmantot..

Pamata lapas novirzīšana

Lai novirzītu vienu lapu uz citu URL, kods ir:

Novirzīt 301 / relatīvo-url.html http://example.com/pilns-url.html

Šai vienrindas komandai ir četras daļas, katra atdalīta ar vienu atstarpi:

  • Novirzīt komandu
  • Novirzīšanas veids (301 – pārvietots pastāvīgi)
  • Sākotnējās lapas relatīvais URL
  • Pilns un pilnīgs jaunās lapas URL.

Relatīvais URL ir saistīts ar direktoriju, kurā atrodas .htaccess fails, kas parasti ir tīmekļa sakne vai domēna sakne..

Tātad, ja vietne http://example.com/blog.php būtu pārvietota uz vietni http://blog.example.com, kods būtu šāds:

Novirzīt 301 /blog.php http://blog.example.com

Jūsu vietnes lielas daļas novirzīšana

Ja esat pārvietojis direktoriju struktūru, bet saglabājāt to pašu lapu nosaukumus, iespējams, vēlēsities novirzīt visus pieprasījuma pēc noteikta direktorija uz jauno..

Novirzīt 301 / veco direktoriju http://example.com/jauns direktorijs

Visas vietnes novirzīšana

Ko darīt, ja visa vietne ir pārvietota uz jaunu URL? Vienkārši.

Novirzīt 301 / http://newurl.com

Www novirzīšana uz vietni, kas nav www

Arvien vairāk vietņu attālinās no www apakšdomēna.

Tas nekad nav bijis vajadzīgs, bet tas bija aizkavējums no dienām, kad vairums cilvēku, kas pārvaldīja vietni, izmantoja serveri, lai uzglabātu daudzus savus dokumentus, un www vai “globālā tīmekļa” direktorijs tika izmantots saturam, kuru viņi vēlējās dalīties ar citiem.

Mūsdienās daži cilvēki to izmanto, bet citi nelieto. Diemžēl daži lietotāji joprojām automātiski ieraksta www. katra URL priekšā no ieraduma. Ja nelietojat www, vēlaties pārliecināties, ka šie pieprasījumi tiek novietoti pareizajā vietā.

Lai to izdarītu, jums būs jāizmanto mod_rewrite modulis, kas, iespējams, jau ir instalēts jūsu tīmekļa resursdatorā.

Opcijas + Sekojošās saites
RewriteEngine ieslēgts
RewriteCond% ^ www.example.com [NC]
RewriteRule ^ (. *) $ Http://example.org/$1 [R = 301, NC]

Esi uzmanīgs!

Lai to paveiktu, daudz citu .htaccess un mod_rewrite rokasgrāmatu piedāvā dažas šī koda variācijas:

Opcijas + Sekojošās saites
RewriteEngine ieslēgts
RewriteCond%! ^ Example.com [NC]
RewriteRule ^ (. *) $ Http://example.org/$1 [R = 301, NC]

Vai jūs redzat problēmu ar to??

Tas visus apakšdomēnus novirza uz primāro domēnu. Tātad ne tikai www.example.com, bet arī blog.example.com un admin.example.com un jebkas cits. Iespējams, ka tā nav tā izturēšanās, kādu vēlaties.

Novirzīšana uz www

Bet ko darīt, ja jūs izmantojat www apakšdomēnu?

Jums, iespējams, vajadzētu iestatīt novirzīšanu, lai pārliecinātos, ka cilvēki nokļūst tur, kur viņi cenšas nokļūt. Īpaši tagad, kad mazāk cilvēku, visticamāk, automātiski pievieno šo www URL sākumam.

Jūs vienkārši mainīsit iepriekš minēto kodu.

RewriteEngine Ieslēgts
RewriteCond% ^ example.com [NC]
RewriteRule ^ (. *) Http://www.website.com/$1 [R = 301, NC]

Vai man vajadzētu novirzīt 404 kļūdas uz mājas lapu?

Vairākos .htaccess novirzīšanas ceļvežos ir norādījumi par to, kā 404 kļūdas novirzīt uz sākumlapu.

Šis ir labs piemērs tam, ka tikai tāpēc, ka varat kaut ko darīt, tas nenozīmē, ka jums vajadzētu kaut ko darīt.

404 kļūdu novirzīšana uz vietnes sākumlapu ir drausmīga ideja. Tas mulsina apmeklētājus, kuri nevar saprast, kāpēc viņi redz vietnes sākumlapu, nevis pareizu 404 kļūdas lapu.

Visām vietnēm vajadzētu būt pielāgotai 404 lapai, kas lietotājam skaidri izskaidro, ka saturu nevarēja atrast, un ideālā gadījumā piedāvā dažas meklēšanas funkcijas, lai palīdzētu lietotājam atrast to, ko viņi meklēja.

Kāpēc alternatīvu vietā jāizmanto .htaccess?

Jūs varat iestatīt novirzīšanu PHP failos vai ar jebkura cita veida servera puses skriptiem. Varat tos iestatīt arī savā satura pārvaldības sistēmā (kas būtībā ir tas pats).

Bet .htaccess izmantošana parasti ir ātrākais novirzīšanas veids. Izmantojot novirzīšanu uz PHP vai citām servera puses skriptu valodām, viss pieprasījums ir jāpabeidz un skripts faktiski jāinterpretē pirms novirzīšanas ziņojuma nosūtīšanas pārlūkprogrammai.

Izmantojot .htaccess novirzīšanu, serveris tieši reaģē uz pieprasījumu ar novirzīšanas ziņojumu. Tas notiek daudz ātrāk.

Tomēr jums jāņem vērā – dažas satura pārvaldības sistēmas faktiski pārvalda novirzīšanu, programatiski atjauninot .htaccess. Piemēram, WordPress ir novirzīšanas spraudņi, kas darbojas šādā veidā. (To dara arī WP jaukā URL sistēma.)

Tas jums nodrošina .htaccess tiešās izmantošanas veiktspēju, vienlaikus nodrošinot arī vadības ērtību, izmantojot lietojumprogrammu.

.Htaccess faila slēpšana: drošības apsvērumi

Nav iemesla, ka kādam vajadzētu būt iespējai jūsu .htaccess failu skatīt tīmeklī.

Turklāt ir daži lieli iemesli, kuru dēļ jūs noteikti nevēlaties, lai cilvēki redzētu jūsu .htaccess failu.

Lielākā problēma ir tā, ka, ja jūs izmantojat .htpasswd failu, tā atrašanās vieta ir norādīta .htaccess failā. Zinot, kur to atrast, to ir vieglāk atrast.

Turklāt parasti jūs nevēlaties sniegt sabiedrībai sīku informāciju par jūsu ieviešanu.

Pārrakstiet noteikumus, direktoriju iestatījumus, drošību – visas lietas, kurām jūs izmantojat .htaccess – laba drošības prakse ir slēpt visu šo aizkulišu savā tīmekļa serverī. Jo vairāk hakeris var uzzināt par jūsu sistēmu, jo vieglāk to kompromitēt.

Ir ļoti viegli slēpt .htaccess failu no publiska skata. Vienkārši pievienojiet šo kodu:

rīkojums atļauj, noliedz
noliegt no visiem

MIME veidu iespējošana

MIME tipi ir failu tipi. Viņi tiek saukti par MIME tipiem to sākotnējās saistības ar e-pastu dēļ (MIME apzīmē “daudzfunkcionālos interneta pasta paplašinājumus”). Tos ne tikai sauc par “failu tipiem”, jo MIME faila veida noteikšanai nozīmē noteiktu formātu.

Ja esat kādreiz rakstījis HTML dokumentu, jūs, iespējams, norādījāt MIME veidu, pat ja jūs to nezinājāt:

Tips atribūts attiecas uz noteiktu MIME tipu.

MIME veidi jūsu serverī

Dažreiz var secināt, ka jūsu tīmekļa serveris nav konfigurēts, lai piegādātu noteikta veida failus. Tas vienkārši nedarbojas – faila pieprasījumi vienkārši neizdodas.

Vairumā gadījumu jūs varat novērst šo problēmu, pievienojot MIME tipu .htaccess failam.

AddType teksts / bagātinātā teksta rtx

Šai direktīvai ir trīs daļas, kuras katra atdala ar atstarpi:

  • AddType komanda
  • MIME tips
  • Faila paplašinājums.

Ja vēlaties saistīt vairākus dažādus faila paplašinājumus ar to pašu MIME tipu, varat to izdarīt vienā rindā.

AddType attēls / jpeg jpeg jpg jpe JPG

Piespiedu lejupielāde pēc MIME Type

Ja vēlaties, lai visas saites uz noteiktiem failu tipiem tiktu palaistas kā lejupielādes, nevis atvērtas pārlūkā, jūs to darāt, izmantojot MIME tipa lietojumprogrammu / octet-stream:

AddType lietojumprogramma / octet-stream pdf

Atkal jūs varat norādīt vairākus faila paplašinājumus ar vienu tipu:

AddType lietojumprogramma / octet-stream pdf doc docx rtf

Failu paplašinājumu un MIME tipu saraksts

Šeit ir ne visai pilnīgs failu formātu un ar tiem saistīto MIME tipu saraksts.

Ja jūs pārvaldāt savu vietni un zināt, kādos failu veidos publicējat resursus, tad nav nepieciešams visu šo sarakstu ielīmēt .htaccess failā.

Tomēr, ja jūs vadāt vietni, kurā piedalās un publicē daudzi citi cilvēki, iespējams, vēlēsities vienkārši atļaut lielu skaitu failu tipu, lai pārliecinātos, ka nevienam nav sliktas pieredzes..

Tas jo īpaši attiecas uz gadījumiem, kad jūs vadāt vietni, kurā cilvēki, iespējams, īpaši koplieto daudz failus, piemēram, failu koplietošanas vietni, projekta pārvaldības lietojumprogrammu (kur daudziem failiem bieži tiek pievienoti projekti) vai tīmekļa lietotni, kas apstrādā e-pasts.

Lietojumprogramma AddType / macbinhex-40 hqx
AddType lietojumprogramma / netalive net
AddType lietojumprogramma / netalivelink nel
AddType lietojumprogramma / oktetu straumes bin exe
Lietojumprogramma AddType / oda oda
Pieteikums AddType / pdf pdf
AddType lietojumprogramma / postscript ai eps ps
Lietojumprogramma AddType / rtf rtf
Lietojumprogramma AddType / x-bcpio bcpio
Lietojumprogramma AddType / x-cpio cpio
Lietojumprogramma AddType / x-csh csh
AddType lietojumprogramma / x-Director DCR
Pieteikuma AddType / x-režisors rež
AddType lietojumprogramma / x-Director dxr
Lietojumprogramma AddType / x-dvi dvi
Lietojumprogramma AddType / x-gtar gtar
Lietojumprogramma AddType / x-hdf hdf
Lietojumprogramma AddType / x-httpd-cgi cgi
Lietojumprogramma AddType / x-lateksa latekss
Programmas AddType / x-mif mif
Lietojumprogramma AddType / x-netcdf nc cdf
AddType lietojumprogramma / x-onlive sds
Lietojumprogramma AddType / x-sh sh
Lietojumprogramma AddType / x-shar shar
Lietojumprogramma AddType / x-sv4cpio sv4cpio
AddType lietojumprogramma / x-sv4crc sv4crc
AddType lietojumprogramma / x-tar darva
AddType lietojumprogramma / x-tcl tcl
Lietojumprogramma AddType / x-tex tex
Lietojumprogramma AddType / x-texinfo texinfo texi
AddType lietojumprogramma / x-troff t tr roff
Lietojumprogramma AddType / x-troff-man
AddType lietojumprogramma / x-troff-me me
AddType lietojumprogramma / x-troff-ms ms
Lietojumprogramma AddType / x-ustar ustar
AddType lietojumprogramma / x-wais-source src
Lietojumprogramma AddType / zip zip
AddType audio / pamata au snd
AddType audio / x-aiff aif aiff aifc
AddType audio / x-midi vid
AddType audio / x-pn-realaudio ram
AddType audio / x-wav wav
AddType attēls / gif gif GIF
AddType attēls / ief ief
AddType attēls / jpeg jpeg jpg jpe JPG
AddType attēls / tiff tiff tif
AddType attēls / x-cmu-rastra ras
AddType attēls / x-portatīvs-anymap pnm
AddType attēls / x-portable-bitmap pbm
AddType attēls / x-portatīvs pelēks karte pgm
AddType attēls / x-portatīvs-pixmap ppm
AddType attēls / x-rgb rgb
AddType attēls / x-xbitmap xbm
AddType attēls / x-xpixmap xpm
AddType attēls / x-xwindowdump xwd
AddType teksts / html html htm
AddType teksts / vienkāršs teksts
AddType teksts / bagātinātā teksta rtx
AddType teksts / tabulā atdalītas vērtības tsv
AddType teksts / x-server-parsed-html shtml sht
AddType teksts / x-setext etx
AddType video / mpeg mpeg mpg mpe
AddType video / ātrākais qt mov
AddType video / x-msvideo avi
AddType video / x-sgi-movie filma
AddType x-world / x-vrml wrl

Bloķēt karsto saistīšanu

Karstā saite ir prakse, kurā tiek veidota saite uz resursiem no citiem domēniem, nevis augšupielādēts saturs uz jūsu pašu serveri un pats to apkalpots..

Pieņemsim, ka vietnē atrodat attēlu, kas jums patiešām patīk, un vēlaties to izmantot savā vietnē. Pagaidām ignorējot autortiesību problēmas – attēlu var lejupielādēt, augšupielādēt to savā vietnē un iegult savā lapā tāpat kā parasti.


Bet, ja jūs esat slinks, mēģinājāt ietaupīt joslas platumu vai nezināt, kā augšupielādēt failu, varat to vienkārši iegult tieši oriģinālajā failā.

Tā ir karstā saite. Tas notiek arī ar CSS un JS failiem, bet attēli ir visizplatītākie.

Dažām vietnēm / resursdatoriem par to nekas nav prātā – varat saitīt saites no Wikipedia attēliem, nevienu neaptraucot. Un dažas tīmekļa vietnes tā vai citādi mudina.

Piemēram, JQuery nodrošina savas JS bibliotēkas, izmantojot CDN (satura piegādes tīklu), lai jūs varētu karsto saiti tieši uz to, bez nepieciešamības to augšupielādēt un apkalpot no sava servera..

Bet daudzi tīmekļa resursdatori karsto saišu izveidošanu uzskata par joslas platuma un resursu zagšanas veidu.

Protams, ja jums ir relatīvi maza vietne, jūs nevarat atļauties katru dienu iesniegt tūkstošiem vai desmitiem tūkstošu pieprasījumu pēc resursiem, kuriem nav nekā kopīga ar faktiskajiem jūsu vietnes apmeklētājiem..

Ja rodas problēmas ar karsto saišu izveidošanu, varat to atspējot, pievienojot dažus mod_rewrite noteikumus jūsu .htaccess failam.

RewriteEngine ieslēgts
RewriteCond%! ^ $
RewriteCond%! ^ Http: // (www.)? Example.com /.*$ [NC]
RewriteRule. (Gif | jpg | jpeg | png | js | css) $ – [F]

Noteikti nomainiet example.com trešajā rindiņā uz faktisko domēna vārdu. Tas uztver visus pieprasījumus, kas nav saņemti no jūsu domēna, un pēc tam pārbaudīs, vai tie atbilst vienam no norādītajiem faila paplašinājumiem ceturtajā rindā. Ja ir sakritība, pieprasījums neizdodas.

Ja vēlaties pievienot citus failu paplašinājumus, varat vienkārši rediģēt pēdējo rindu.

Alternatīva satura apkalpošana

Ja vēlaties paziņot pasaulei, kāpēc pēkšņi vairs nedarbojas viņu karstā saite, varat aizstāt saistošos saites ar īpašu attēlu ar ziņojumu, piemēram: “Mēs ienīstam karsto saišu izveidošanu!” vai “Oriģinālais saturs pieejams vietnē http://example.com”.

Tā vietā, lai noraidītu pieprasījumu, jūs to vienkārši novirzījat uz “īpašo” attēlu:

RewriteEngine ieslēgts
RewriteCond%! ^ $
RewriteCond%! ^ Http: // (www.)? Example.com /.*$ [NC]
RewriteRule. (Gif | jpg) $ http://www.example.com/no-hotlinking.jpg [R, L]

Ja jūs patiešām vēlaties sajaukt ar cilvēkiem, varat novirzīt JavaScript vai CSS failus uz īpašām alternatīvām, kurām var būt neveiksmīga ietekme uz karsto līniju. Tomēr tas nav ieteicams.

RewriteEngine ieslēgts
RewriteCond%! ^ $
RewriteCond%! ^ Http: // (www.)? Example.com /.*$ [NC]
RewriteRule. (Js) $ http://www.example.com/break-everything.js [R, L]

RewriteEngine ieslēgts
RewriteCond%! ^ $
RewriteCond%! ^ Http: // (www.)? Example.com /.*$ [NC]
RewriteRule. (Css) $ http://www.example.com/super-ugly.css [R, L]

Atspējot vai iespējot indeksu

Kas notiek, ja jums ir direktorijs, kas pilns ar dokumentiem vai citiem resursiem, nav index.html faila un .htaccess failā nav norādīta noklusējuma direktoriju lapa?

Daudzos gadījumos rezultāts būs vispārīgs direktorija saraksts ar visiem direktorijā esošajiem failiem.

Tas ir pareizi. Ja jūsu mitināšanas direktorijā ir mape ar apzīmējumu / images un tai nav index.html lapas, kad kāds pāriet uz http://yousite.com/images, viņš varēs redzēt visu attēlu jūsu vietne.

Tāda ir vairuma tīmekļa serveru noklusējuma rīcība, un no sākotnējās vietnes koncepcijas viedokļa ir jēga, ka tā ir vienkārši vieta dokumentu glabāšanai un kopīgošanai. Bet lielākajā daļā vietņu tā nav vēlamā rīcība.

Indeksa atspējošana

Daudzi tīmekļa mitināšanas konti to jau būs atspējojuši globālās konfigurācijas ietvaros. Bet ne visi to dara.

Ja jums jāatspējo automātiski ģenerētie direktoriju saraksti, to izdarīt ir viegli:

Iespējas -Indexes

Iespējot indeksus

Ja jūsu tīmekļa serveris ir atspējojis indeksus kā daļu no globālās konfigurācijas, bet jūs tos vēlaties, varat tos iespējot, izmantojot iepriekš norādīto komandu..

Opcijas + indeksi

Dažu failu slēpšana no indeksa

Ja vēlaties parādīt direktoriju ierakstus, bet no saraksta vēlaties paslēpt noteiktus failu tipus, to varat izdarīt arī jūs.

IndexIgnore * .gif * .jpg

* Ir aizstājējsimbols. Iepriekš minētajā direktīvā tiks paslēpti visi faili ar paplašinājumu .gif vai .jpg. Ja vēlaties precīzāk izteikties, jūs varētu:

IndexIgnore secret-image.jpg

CGI iespējošana visur

CGI jeb Common Gateway Interface ir servera puses metode skriptu, kas nav HTML (piemēram, Perl vai SSI) iekļaušanai tīmekļa lapās.

Parasti CGI skripti tiek glabāti mapē ar apzīmējumu / cgi-bin. Tīmekļa serveris ir konfigurēts tā, lai jebkurus resursus šajā direktorijā apstrādātu nevis kā lapu, bet gan kā skriptu.

Ar to saistītā problēma ir divējāda: vietrāžos URL, kas atsaucas uz CGI resursiem, tajos jābūt / cgi-bin /, kas jūsu URL ievieto ieviešanas informāciju – anti-modeli, no kura jāizvairās vairāku iemeslu dēļ..

Sarežģītai vietnei var būt vajadzīga labāka organizācijas struktūra, nekā vienkārši tajā būtu iestrēdzis tonnu skriptu vienā / cgi-bin mapē.

Ja vēlaties, lai jūsu tīmekļa serveris parsētu CGI skriptus neatkarīgi no tā, kur tie atrodas jūsu direktoriju struktūrā, vienkārši pievienojiet .htaccess failam šādus datus:

AddHandler cgi-script .cgi
Opcijas + ExecCGI

Ja jums ir citi failu paplašinājumi, kurus vēlaties apstrādāt kā CGI skriptus, varat tos pievienot pirmajā rindā.

Skripti kā avota kods

Lielāko daļu laika jūs ievietojat skriptus savā tīmekļa direktorijā, jo, labi, jūs vēlaties, lai tie tiktu palaisti kā skripti.

Bet dažreiz tas nav tas, ko vēlaties. Dažreiz jūs vēlaties parādīt avota kodu publiskiem apmeklētājiem, nevis izpildīt skriptu.

Tas varētu būt gadījumā, ja jūs vadāt failu koplietošanas pakalpojumu vai kodu repozitorija vietni un vēlaties, lai cilvēki redzētu avota kodu un varētu to lejupielādēt, taču skripti faktiski ir jūsu vietnes funkcionalitātes daļa..

To var izdarīt .htaccess failā, noņemot noteiktu failu tipu skriptu apstrādātāju un aizstājot to ar teksta apdarinātāju.

RemoveHandler cgi-script .pl .cgi .php .py
AddType teksts / vienkāršs .pl .cgi .php .py

Kā alternatīvu, kā minēts iepriekš, jūs varat piespiest failus ar šiem paplašinājumiem lejupielādēt automātiski, nevis parādīt.

RemoveHandler cgi-script .pl .cgi .php .py
AddType lietojumprogramma / octet-stream .pl .cgi .php .py

Tomēr esiet piesardzīgs ar kādu no šiem. Ja vēlaties, lai tikai daži faili tiktu parādīti šādā veidā, bet joprojām izmantojat šos skriptus pārējā vietnes daļā, jums būs slikts laiks, ja šo direktīvu ievietojat savas tīmekļa saknes .htaccess failā.

Labāka prakse būtu visus šādus “tikai displeja” skriptus ievietot vienā direktorijā un pēc tam direktīvu ievietot .htaccess failā tajā mapē..

PHP iestatījumu konfigurēšana

Dažreiz ir jāpielāgo PHP iestatījumi. Pareizais veids, kā to izdarīt, ir failā ar nosaukumu php.ini.

Diemžēl ne visi tīmekļa mitināšanas uzņēmumi ļauj saviem klientiem rediģēt php.ini failu. Īpaši tas attiecas uz dalīta hostinga pakalpojumu sniedzējiem, kur ar vienu PHP instalāciju var darboties simtiem tīmekļa vietņu.

Par laimi, tas ir risinājums – jūs varat iegult php.ini kārtulas savā .htaccess failā.

Sintakse izskatās šādi:

php_value [iestatījuma nosaukums] [vērtība]

Piemēram, ja jums jāpalielina faila augšupielādes maksimālais lielums (izplatīta problēma), tas ir tikpat vienkārši:

php_value upload_max_filesize 10M

Ne visus PHP iestatījumus var norādīt .htaccess failos. Piemēram, šādā veidā nevar atspējot klases.

Pilnu visu php.ini iestatījumu sarakstu skatiet oficiālajā php.ini direktīvu rokasgrāmatā.

Kā novērst piekļuvi jūsu PHP, iekļaujiet failus

Ir vairāki veidi, kā novērst neatļautu piekļuvi jūsu PHP, ieskaitot failus.

Pirmkārt, varat tos ievietot direktorijā un iestatīt .htaccess failu, lai liegtu piekļuvi minētajam direktorijam (ti, Noraidīt visu, ja izmantojat Apache HTTP serveri). Ja kāds mēģina piekļūt failam, viņš saņems HTTP 403 ir aizliegts atbildi.

Varat arī saglabāt šos failus ārpus direktorija, kurā tiek piegādāti jūsu vietnes faili. Tas ir, ja jūsu tīmekļa serveris apkalpo failus, kas atrodas / srv / mājas, varat iekļaut iekļaušanas failus zem / srv / mājas / ietver. Tas padara failus nepieejamus caur URL, lai gan jūs varat tiem piekļūt un tos izmantot šādi: iekļaujiet “PATH_TO_YOUR_FILE”.

Visbeidzot, jūs varat definēt URL konstanti failiem, kuriem vēlaties piekļūt:

definēt (‘WEBSITE_URL’, ‘http://example.com’);

Pēc tam failiem, kuriem nevēlaties piekļūt, iekļaujiet šādu pārbaudi:

if (! noteikts (‘WEBSITE_URL’)) {
galvene ($ _ SERVER ["SERVER_PROTOCOL"] . "403 Aizliegts");
Izeja;
}

Kā novērst piekļuvi PHP ini failiem

Veids, kā novērst nesankcionētu piekļuvi ini failiem, ir rediģēt .htaccess failu, lai liegtu piekļuvi ini failiem (ti, noraidīt visu, ja lietojat Apache).

Kā iestatīt servera laika joslu

Varat iestatīt servera laika joslu, norādot to .htaccess failā. Lai to izdarītu, jums būs jāpievieno šāda rinda:

php_value date.timezone ‘Reģions / Zona’

Noteikti nomainiet reģionu / zonu ar vēlamo laika joslu.

Saglabājiet failu. Jūs varat pārbaudīt savas izmaiņas, izveidojot PHP testa failu, kurā ir šādi faili tajā pašā direktorijā kā .htaccess fails:

<?php phpinfo (); ?>

Ielieciet failu pārlūkprogrammā un meklējiet direktīvas nosaukumu – tās kolonnā Vietējā vērtība vajadzētu parādīt jauno laika joslas iestatījumu.

Kad nelietot .htaccess

Pirmoreiz rediģējot .htaccess failu, jums pēkšņi var šķist milzīga vara pār jūsu tīmekļa mitināšanas vidi. Pēkšņi jūs jūtaties kā sysadmin.

Diemžēl šī jauda var ienākt prātā, un jūs varat atrast .htaccess failu tādā veidā, kas nav īsti labākais.

Kad jums jādara kaut kas, piemēram, .htaccess veida darbs, būtībā ir divas situācijas, kad šī direktīva ir jāievieto kaut kur citur..

Tālāk augšpus

Kad vien iespējams, direktīvu tipus, kurus varat ievietot .htaccess failā, labāk ir ievietot failā httpd.conf, kas ir visa servera konfigurācijas iestatījumu fails..

Tāpat PHP iestatījumi pareizāk pieder php.ini failam, un lielākajai daļai citu valodu ir līdzīgi konfigurācijas iestatījumu faili.

Ievietojot direktīvas tālāk augšpusē, httpd.conf, php.ini vai citā ar valodu saistītā konfigurācijas failā, šie iestatījumi tiek “iebūvēti” tīmekļa servera parsēšanas motorā. Izmantojot .htaccess, direktīvas ir jāpārbauda un jāinterpretē ar katru atsevišķu pieprasījumu.

Ja jums ir zema trafika vietne, kurā ir tikai nedaudz .htaccess direktīvu, tas nav liels darījums. Bet, ja jums ir daudz trafika un daudz direktīvu, veiktspējas nobīde patiešām var saskaitīt.

Diemžēl daudzi dalītā hostinga pakalpojumu sniedzēji neļauj klientiem piekļūt httpd.conf vai php.ini failiem, liekot lietotājiem paļauties uz lēnāko .htaccess failu.

Tas nodrošina dubultu sodu, salīdzinot ar pielāgotajām VPS konfigurācijām, jo ​​arī dalītā mitināšana parasti patērē maz enerģijas. Tas ir viens no iemesliem, kāpēc vietnei ar cienījamu trafiku, iespējams, vajadzētu būt VPS plānā, nevis dalīta mitināšanas plānā.

Tālāk pa straumi

Ja jūs izmantojat labu satura pārvaldības sistēmu (CMS), piemēram, WordPress vai Drupal, dažas no darbībām, kuras jūs varētu darīt .htaccess failā, piemēram, novirzīt URL vai bloķēt IP adreses, var izdarīt no lietojumprogrammas iekšpuses..

Bieži vien tas darbojas kopā ar .htaccess failu, lietojumprogrammai sistemātiski pievienojot direktīvas.

Kad tas ir pieejams, parasti vislabāk šos uzdevumus veikt no lietojumprogrammas, nevis pats rediģēt .htaccess failu. Mazāk ticams, ka jūs ieviesīsit kļūdas un nesaderīgas direktīvas, ja izmantojat labi pārbaudītu, atvērtā koda spraudni.

Traucējummeklēšana

Nepareizi izturēties pret savu .htaccess failu var būt lieliski, taču tas var arī izraisīt jūsu servera konfiskāciju un sākt piegādāt 500 iekšējā servera kļūdu ziņojumus.

Šeit ir dažas idejas, kas jums to palīdzēs.

Dariet vienu lietu vienlaicīgi

Tas būtu pats par sevi saprotams, bet diemžēl tā ir mācība, kas daudziem no mums ir jāmācās atkal un atkal.

Dariet vienu lietu. Tad pārbaudiet to. Tad dariet citu lietu. Pārbaudi to.

Ja jūs darāt vairākas lietas vienlaikus un kaut kas neizdodas, jūs nezināt, kura direktīva rada problēmu.

Dublējiet failu pirms katras darbības

Vienlaicīgi veicot tikai vienu lietu, jums vajadzētu saglabāt failu starp katru mēģināto lietu. Saglabātajam arhīvam jābūt atjaunojamam. Šis nav Microsoft Word, kurā varat vienkārši atsaukt – jums ir nepieciešama saglabāta faila kopija.

Jums vienmēr vajadzētu būt pieejamai jaunākajai darba versijai, ja kaut ko izjaucat. Vienmēr, vienmēr, vienmēr ir iespēja atjaunot darbīgo versiju.

Tas ir visvieglāk, ja izmantojat kādu avotu pārvaldības sistēmu, piemēram, GIT. Pēc katras izmaiņas varat apņemties un atgriezties, ja rodas kādas problēmas.

Pārbaudiet kļūdu žurnālus

Ja jums rodas problēma un jums grūti izdomāt, kāpēc tā ir, pārbaudiet savus Apache kļūdu žurnālus. Tie bieži sniedz vērtīgu informāciju par to, kur meklēt.

Izmantojiet izstrādātāju forumus, lai saņemtu palīdzību

Izstrādātāju forumi un Q&Vietnes, piemēram, StackOverflow, ir nenovērtējami rīki pat vispieredzējušākajiem izstrādātājiem un sysadminiem. Un neaizmirstiet Google. Bieži vien atšķirība starp sliktu tīmekļa pārzini un lielisko nezina atbildi, bet zina, kur atrast atbildi.

Izplatītas .htaccess problēmas

Dažreiz jūs izdarījāt typo. Dažreiz jums ir ezotēriska un mulsinoša problēma, ko izraisa neparedzamu faktoru saplūšana.

Lielākā daļa problēmu, un patiesi nomākta, ir tām pa vidu – vienkāršās, ikdienas problēmas, kuras ir viegli novērst, ja jūs vienkārši par tām uzzinājāt.

Šeit ir daži no tiem.

Nepareizs faila nosaukums

.Htaccess ir tikai viens veids, kā rakstīt. Tam jāsākas ar punktu, un tam jābūt ar visiem mazajiem burtiem..

Tas šķiet mēms, bet, ja .htaccess fails nedara to, ko jūs gaidāt, tam vajadzētu būt pirmajam, ko pārbaudāt..

.htaccess atspējots vai daļēji atspējots

Daži koplietojamo mitināšanas pakalpojumu sniedzēji .htaccess pavisam atspējo. Citi to atļauj, taču ierobežo noteiktu direktīvu izmantošanu – ja tās iekļauj, tās vienkārši ignorē.

Līdzīgi, pat VPS plānos vai jūsu atsevišķos serveros .htaccess varētu būt atspējots.

Ja jums ir piekļuve httpd.conf failam vai citiem servera iestatījumiem, varat pats to pārbaudīt. Ja atrodat direktīvu AllowOverride None, jūs atradāt vainīgo. Nomainiet to uz AllowOverride All.

Ja jums nav piekļuves savam httpd.conf failam (jo, piemēram, jūs izmantojat dalītu mitināšanu), jums, iespējams, būs jāsazinās ar sava mitināšanas uzņēmuma tehnisko atbalstu un jāpārbauda, ​​vai viņi to var jums iespējot vai piedāvā jums ieteikumus lai paveiktu to, ko jūs mēģināt darīt citādā veidā.

Pretrunīgas vai ignorētas direktīvas

Ja jums ir vairāki ligzdoti direktoriji, katram ir iespējams izveidot savu .htaccess failu. Tiek piemērots katrs .htaccess fails no saknes caur katru ligzdoto direktoriju – tie tiek nolasīti secībā, nolaižoties direktoriju kokā..

Ja kaut ko iestatāt savā saknes direktorijā un kaut kas apakšdirektorijā to ignorē, prioritāte būs direktīvai, kas atrodas .htaccess failā, kas ir vistuvāk pieprasītajam failam.

Skatiet arī mūsu mod-pārrakstīt krāpšanās lapu!

.htaccess Bieži uzdotie jautājumi

  • Kas ir .htaccess fails SEO?

    .Htaccess failu var izmantot, lai izpildītu ar SEO saistītus uzdevumus, piemēram, novirzīšanu. Novirzīšanu var izmantot, lai izvairītos no 404 kļūdas ziņojumiem un ļautu meklētājprogrammu robotiem zināt, kuras lapas tām vajadzētu indeksēt. Varat arī iestatīt HTTP galvenes, lai uzlabotu lapas ielādes ātrumu, kas var uzlabot jūsu meklētājprogrammu rangu.

    Turklāt jūs varat izmantot .htaccess, lai ieviestu konsekventu slīpsvītru politiku. Tas apvienojumā ar www un HTTPS noteikumiem var palīdzēt izvairīties no satura dublēšanās, par ko Google var sodīt.

  • Kā izveidot .htaccess failu WordPress?

    Lai Word .ress izveidotu .htaccess failu, izmantojiet šo kodu:

    # SĀKT WordPress

    RewriteEngine Ieslēgts
    RewriteBase /
    RewriteRule ^ indekss \ .php $ – [L]
    RewriteCond% {REQUEST_FILENAME}! -F
    RewriteCond% {REQUEST_FILENAME}! -D
    RewriteRule. /index.php [L]

    # END WordPress

    Ņemiet vērā, ka, instalējot WordPress, .htaccess fails tiek automātiski izveidots. Tomēr kļūdains spraudnis var sabojāt .htaccess failu, kā rezultātā fails ir jāizveido no jauna.

  • Kāpēc es nevaru redzēt savu .htaccess failu??

    Ja jūs neredzat .htaccess failu, tas ir tāpēc, ka tā neeksistē vai tas ir paslēpts. Lai piespiestu FTP klientu parādīt šos failus, jums būs jāmaina klienta iestatījumi (t.i., FileZilla, dodieties uz vietni Serveris > Piespiest parādīt slēptos failus). Ja esat veicis šīs izmaiņas un joprojām neredzat .htaccess, jums tās būs jāizveido atkārtoti.

  • Cik .htaccess failu man vajadzētu būt?

    Lielākajai daļai vietņu nav vajadzīgs vairāk par vienu .htaccess failu. Tas ir tāpēc, ka .htaccess faili ļauj veikt servera konfigurācijas izmaiņas katrā direktorijā. Tomēr, mitinot vairākas vietnes vai sarežģītas lietojumprogrammas, daži tīmekļa pārziņi vietnei var izmantot vairāk nekā vienu failu, lai izpildītu uzlabotas funkcijas.

  • Kur ir .htaccess cPanel?

    Lai redzētu .htaccess failu, piesakieties savā cPanel kontā. Pēc tam dodieties uz Datnes > Failu menedžeris. Kad jums tiek lūgts izvēlēties direktoriju, atlasiet Tīmekļa sakne un pārliecinieties par to Rādīt slēptos failus ir pārbaudīts. Tagad jums vajadzētu būt iespējai skatīt .htaccess failu cPanel.

  • Kāda ir .htaccess faila izmantošana CodeIgniter?

    .Htaccess failu var izmantot kopā ar CodeIgniter, lai izveidotu meklētājprogrammām draudzīgus URL. Pēc noklusējuma CodeIgniter vietrāžos URL ir iekļauts fails index.php. Izmantojot .htaccess, jūs varat izdzēst šo noklusējuma index.php failu tā, lai tas neparādītos visos jūsu lietojumprogrammas vietrāžos URL..

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map