Vuoden 2020 täydellinen opas .HTACCESS-ohjelmaan – perusteista edistyneeseen oppimiseen

Disclosure: Tukisi auttaa pitämään sivuston toiminnassa! Ansaitsemme lähetysmaksun joistakin tämän sivun suosittelemista palveluista.


.Htaccess-tiedoston avulla voit hallita monia Apache-verkkopalvelimen (ja sen monien muunnelmien) näkökohtia. Alla opit kaiken, mitä sinun on tiedettävä, asettaaksesi erityiset virhesivut, salasanasuojaushakemistot, uudelleenohjauksen ja paljon muuta.

Contents

Kuinka käyttää tätä opasta

Tämä opas on rakennettu toimimaan kattavana resurssina .htaccess-sovelluksen käyttämisessä. Jos olet täysin uusi .htaccess-sovelluksen käyttäminen – kannattaa aloittaa ensimmäisestä luvusta “.htaccess Basics”..

Jos etsit tiettyjä koodinäytteitä tai oppaita, katso tämän sivun oikealla puolella olevaa navigointia siirtyäksesi suoraan tämän sivun alaosastoihin.

.htaccess-perusteet

Tutustutaan joihinkin .htaccess-perusteisiin ennen sukellusta komentoihin.

Mikä on .htaccess?

.Htaccess-tiedosto on kokoonpanotiedosto, joka ohjaa kuinka palvelin reagoi erilaisiin pyyntöihin. Sitä tukee useita verkkopalvelimia, mukaan lukien suosittu Apache-verkkopalvelin, jota useimmat kaupalliset web-palveluntarjoajat käyttävät.

.htaccess-tiedostot toimivat hakemistotasolla, jolloin ne voivat ohittaa hakemistopuussa korkeammat .htaccess-direktiivien yleiset kokoonpanoasetukset.

Kuinka .htaccessia käytetään?

Joitakin .htaccess-käytön yleisiä käyttötarkoituksia ovat URL-osoitteiden uudelleenohjaus, joka mahdollistaa verkkosivustojen (tai verkkosivujen) salasanasuojauksen; mukautettujen virhesivujen (kuten 404 sivua) näyttäminen; ja parantamalla hakukoneoptimointia johdonmukaisella peruutusviivalla.

Jälkimmäisessä tapauksessa verkkovastaava voi halutessaan joko vaatia viivaviivan sivuston jokaisen URL-osoitteen lopussa tai ei.

Miksi sitä kutsutaan .htaccess?

.htaccess tarkoittaa ”hypertekstin käyttöä”. Nimi on johdettu työkalun alkuperäisestä käytöstä, jonka tarkoituksena oli hallita käyttäjien pääsyä tiettyihin tiedostoihin hakemistokohtaisesti.

Käyttämällä Apachen http.conf-asetusdirektiivien alajoukkoa .htaccess antoi järjestelmänvalvojalle mahdollisuuden rajoittaa pääsy yksittäisiin hakemistoihin käyttäjille, joiden nimi ja salasana määritetään mukana olevassa .htpasswd-tiedostossa.

Vaikka .htaccess-tiedostoja käytetään edelleen tähän, niitä käytetään myös moniin muihin asioihin, joita käsittelemme tässä oppaassa.

Missä on .htaccess-tiedosto?

Teoriassa jokaisella palvelimesi kansiolla (hakemistolla) voisi olla yksi. Yleensä kuitenkin Web-juurihakemistossasi on yksi – se on kansio, joka sisältää kaiken verkkosivustosi sisällön ja johon yleensä on merkitty jotain public_html tai www.

Jos sinulla on yksi hakemisto, joka sisältää useita verkkosivustojen alihakemistoja, päähakemistossa (public_html) on yleensä .htaccess-tiedosto ja myös yksi jokaisessa alihakemistossa (/ sitename)..

Miksi en löydä .htaccess-tiedostoa?

Useimmissa tiedostojärjestelmissä pisteellä (.) Alkavat tiedostonimet ovat piilotettuja tiedostoja. Tämä tarkoittaa, että ne eivät ole yleensä näkyvissä oletuksena.

Mutta heihin ei ole vaikea päästä. FTP-asiakkaallasi tai File Managerilla tulisi olla asetus ”näyttää piilotetut tiedostot”. Tämä on eri paikoissa eri ohjelmissa, mutta yleensä “Preferences”, “Settings” tai “Folder Options”. Joskus löydät sen Näytä-valikosta.

Entä jos minulla ei ole .htaccess-tiedostoa?

Ensinnäkin, varmista, että olet ottanut käyttöön Näytä piilotetut tiedostot (tai vastaavan), jotta voit olla varma, että sinulla ei tosiasiallisesti ole. Usein .htaccess-tiedostot luodaan automaattisesti, joten sinulla on yleensä sellainen. Mutta näin ei aina ole.

Jos sinulla ei todellakaan ole sellaista, voit luoda sen helposti:

  • Aloita uusi tiedosto tavallisessa tekstieditorissa.
  • Tallenna se ASCII-muodossa (ei UTF-8 tai muu) .htaccess-muodossa.
    • Varmista, että se ei ole htaccess.txt tai jotain sellaista. Tiedostolla tulisi olla vain nimi .htaccess ilman ylimääräistä tiedostopäätettä.
  • Lataa se oikeaan hakemistoon FTP: n tai selainpohjaisen tiedostohallinnan kautta.

Virheiden käsittely

.Htaccess-tiedostojen käyttäminen virheasiakirjojen määrittämiseen on hyvin yksinkertaista, mikä on yksinkertaisin asia, jonka voit tehdä tämän ominaisuuden kanssa.

Mikä on virhekoodi?

Kun pyyntö esitetään verkkopalvelimelle, se yrittää vastata pyyntöön yleensä toimittamalla asiakirjan (HTML-sivujen tapauksessa) tai pääsemällä sovellukseen ja palauttamalla tulosteen (sisällönhallintajärjestelmien ja muut verkkosovellukset).

Jos tässä tapahtuu jotain pieleen, syntyy virhe. Erityyppisillä virheillä on erilaiset virhekoodit. Olet todennäköisesti perehtynyt 404-virheeseen, joka palautetaan, jos asiakirjaa ei löydy palvelimelta.

On monia muita virhekoodeja, joihin palvelin voi vastata.

Asiakaspyyntövirheet

  • 400 Virheellinen pyyntö
  • 401 – valtuutus vaaditaan
  • 402 – maksu vaaditaan (ei vielä käytetty)
  • 403 Ei sallittu
  • 404 ei löydetty
  • 405 – Menetelmää ei sallita
  • 406 – ei hyväksytä (koodaus)
  • 407 – Välityspalvelimen todennus vaaditaan
  • 408 – Pyyntö vanhentunut
  • 409 – ristiriitainen pyyntö
  • 410 – mennyt
  • 411 – Sisällön pituus vaaditaan
  • 412 – Edellytys epäonnistui
  • 413 – Pyydä yksikköä liian pitkä
  • 414 – Pyydä URI liian kauan
  • 415 – Ei tuettu mediatyyppi.

Palvelimen virheet

  • 500 – sisäinen palvelinvirhe
  • 501 – Ei toteutettu
  • 502 Huono yhteys
  • 503 Palvelu ei ole käytettävissä
  • 504 – yhdyskäytävän aikakatkaisu
  • 505 – HTTP-versiota ei tueta.

Oletusvirheiden käsittely

Jos et määritä minkään tyyppistä virheiden käsittelyä, palvelin palauttaa viestin vain selaimeen ja selain näyttää yleisen virhesanoman käyttäjälle. Tämä ei yleensä ole ihanteellista.

Virheasiakirjojen määrittäminen

Luo HTML-dokumentti jokaiselle käsiteltävälle virhekoodille. Voit nimetä ne mitä haluat, mutta on hyödyllistä nimetä heille jotain, joka auttaa muistamaan, mihin he ovat, kuten not-found.html tai yksinkertaisesti 404.html.

Määritä sitten .htaccess-tiedostossa käytettävä asiakirja kunkin tyyppisissä virheissä.

ErrorDocument 400 / virheet/bad-request.html
ErrorDocument 401 / virhe / auth-reqd.html
ErrorDocument 403 / virheet/forbid.html
ErrorDocument 404 / virheet/ ei löydy.html
ErrorDocument 500 / virhe / palvelin- palvelin.html

Huomaa, että jokainen direktiivi on sijoitettu omalle linjalleen.

Ja siinä se on. Erittäin yksinkertainen.

vaihtoehtoja .htaccess virheiden käsittelyyn

Useimmilla sisällönhallintajärjestelmillä (kuten WordPress ja Drupal) ja useimmilla verkkosovelluksilla on oma tapa käsitellä suurin osa näistä virhekoodeista.

Salasanasuojaus .htaccess-sovelluksella

.Htaccess-tiedostojen alkuperäinen tarkoitus oli rajoittaa pääsy tiettyihin hakemistoihin käyttäjäkohtaisesti (siis nimi, hypertekstin käyttö). Joten tarkastelemme sitä ensin.

.htpasswd

.Htaccess-järjestelmän käyttäjätunnukset ja salasanat tallennetaan tiedostonimeen .htpasswd.

Ne tallennetaan kukin yhdellä rivillä muodossa:

käyttäjätunnus: encryptedpassword

esimerkiksi:

johnsmith: F418zSM0k6tGI

On tärkeää ymmärtää, että tiedostoon tallennettu salasana ei ole oikea sisäänkirjautumiseen käytetty salasana. Pikemminkin se on salauksen salasanan tiiviste..

Tämä tarkoittaa, että salasana on ajettu salausalgoritmin läpi, ja tulos tallennetaan. Kun käyttäjä kirjautuu sisään, teksti-salasana syötetään ja suoritetaan saman algoritmin läpi. Jos syöte on sama, salasanat täsmäävät ja käyttäjälle annetaan pääsy.

Salasanojen säilyttäminen tällä tavalla tekee niistä entistä turvallisempia – jos joku saisi pääsyn .htpasswd-tiedostoosi, he näkisivät vain hajautetut salasanat, ei alkuperäisiä. Ja alkuperäisten rekonstruointi hashista ei ole mitään tapaa – se on yksisuuntainen salaus.

Useita erilaisia ​​hajautusalgoritmeja voidaan käyttää:

  • Suojatut algoritmit – Käytä yhtä näistä
    • bcrypt – Tämä on turvallisin, mutta myös hitaimmin laskettava. Sitä tukevat Apache ja Nginx.
    • md5 – Tämä on oletushajautusalgoritmi, jota nykyiset Apache-versiot käyttävät. Nginx ei tue sitä.
  • Epävarmat algoritmit – Älä käytä näitä
    • crypt () – Tämä oli aiemmin oletushajautustoiminto, mutta se ei ole kovin turvallinen.
    • SHA ja suolainen SHA.

Käyttäjätunnusten ja salasanojen luominen komentoriville

Voit luoda .htpasswd-tiedoston ja lisätä siihen käyttäjänimen ja salasanan pareja suoraan komentoriviltä tai SSH-päätteeltä.

Komento .htpasswd-tiedoston käsittelemiseksi on yksinkertaisesti htpasswd.

Luo uusi .htpasswd-tiedosto käyttämällä komentoa -c-vaihtoehdolla (luodaksesi) ja kirjoita sitten polku hakemistoon (ei URL, palvelimen todellinen polku). Voit myös lisätä käyttäjän, jonka haluat lisätä.

> htpasswd -c /usr/local/etc/.htpasswd johtajaseppä

Tämä luo uuden .htpasswd-tiedoston hakemistoon / etc / ja lisää tietueen käyttäjälle nimeltä johnsmith. Sinulta kysytään salasanaa, joka myös tallennetaan md5-salauksella.

Jos määritettyyn sijaintiin on jo .htpasswd-tiedosto, uutta ei luoda – uusi käyttäjä yksinkertaisesti liitetään olemassa olevaan tiedostoon.

Jos haluat käyttää bcrypt-hajautusalgoritmia, käytä -b-vaihtoehtoa.

Salasanan hajauttaminen ilman komentoriviä

Jos et halua käyttää komentoriviä tai SSH-päätettä (tai jos et jostain syystä pääse siihen pääsyyn), voit yksinkertaisesti luoda .htpasswd-tiedoston ja täyttää sen tavallisen tekstieditorin avulla ja ladata sen. FTP: n tai tiedostohallinnan kautta.

Mutta sitten sinun täytyy salata salasanasi jotenkin, koska htpasswd-komento oli huolehtinut siitä sinulle.

Verkossa on saatavana monia .htpasswd-salausapuohjelmia. Paras on luultavasti htpasswd-generaattori osoitteessa Aspirine.org.

Tämä antaa sinulle useita vaihtoehtoja hajautusalgoritmiin ja salasanan vahvuuteen. Voit yksinkertaisesti kopioida ja liittää tuotoksen sieltä .htpasswd-tiedostoon.

Missä säilyttää .htpasswd-tiedosto

Sinulla ei tarvitse olla erillistä .htpasswd-tiedostoa jokaisesta .htaccess-tiedostosta. Itse asiassa sinun ei pitäisi. Tavallisimmissa olosuhteissa sinulla pitäisi olla yksi koko web-hosting-tilillesi tai pääpalvelinhakemistolle.

.Htpasswd-tiedoston ei pitäisi olla julkisesti saatavilla olevassa hakemistossa – ei public_html tai www tai missään alihakemistossa. Sen tulisi olla niiden yläpuolella, kansiossa, johon pääsee vain itse palvelimelta.

Kuinka .htpasswd: tä käytetään .htaccess-sovelluksen kanssa

Jokaisella hakemistolla voi olla oma .htaccess-tiedosto, jolla on omat käyttäjät, joilla on pääsy siihen.

Jos haluat jonkun (mukaan lukien kirjautumattomat käyttäjät) käyttää hakemistoa ja sen tiedostoja, älä tee mitään – se on oletus.

Voit rajoittaa pääsyä lisäämällä seuraavat .htaccess-tiedostoon:

AuthUserFile /usr/local/etc/.htpasswd
AuthName "Suojatun alueen nimi"
AuthType Basic

vaadi kelvollinen käyttäjä

Ensimmäinen rivi määrittää polun ja tiedostonimen käyttäjänimien ja salasanojen luetteloon. Toinen rivi määrittää suojatun alueen nimen. Tämä voi olla mitä haluat. Kolmas rivi määrittelee ”Basic” -todennuksen, mitä tarvitset yleensä.

Tunniste määrittelee, mitä rajoitetaan (tässä tapauksessa kyky GET tai POST mihin tahansa hakemiston tiedostoon). Tunnisteparin sisällä on luettelo henkilöistä, joilla on pääsy tiedostoihin.

Yllä olevassa esimerkissä kuka tahansa kelvollinen käyttäjä voi käyttää tiedostoja. Jos haluat rajoittaa tietyn käyttäjän tai muutaman käyttäjän pääsyn, voit nimetä heidät.

AuthUserFile /usr/local/etc/.htpasswd
AuthName "Suojatun alueen nimi"
AuthType Basic

vaadi käyttäjän johtajaseppä
vaadi käyttäjän janedoe

Voit myös laittaa käyttäjät ryhmiin ja sallia pääsyn ryhmän perusteella. Tämä tehdään lisäämällä toinen tiedosto, joka määrittelee ryhmät.

Ryhmätiedosto, joka voisi olla nimeltään (esimerkiksi) .htgroups näyttää tältä:

järjestelmänvalvoja: johnsmith janedoe
Henkilökunta: jackdoe-saksalainen

Sitten voit määrittää sen .htaccess-tiedostoon:

AuthUserFile /usr/local/etc/.htpasswd
AuthGroupFile /usr/local/etc/.htgroup
AuthName "Järjestelmänvalvojan alue"
AuthType Basic

vaadi ryhmänvalvoja

Vaihtoehdot .htpasswd: lle

.Htaccess- ja .htpasswd-tiedostojen käytön rajoittaminen palvelimen tiettyihin tiedostoihin on todella järkevää vain, jos sinulla on paljon staattisia tiedostoja. Ominaisuus kehitettiin, kun verkkosivustot olivat yleensä HTML-asiakirjojen ja niihin liittyvien resurssien kokoelma.

Jos käytät sisällönhallintajärjestelmää (CMS), kuten WordPress tai Drupal, voit käyttää sisäisiä käyttäjän hallintaominaisuuksia rajoittaaksesi tai myöntääksesi pääsyn sisältöön.

Palvelinpuolen sisältyy (SSI)

Oletetaan nyt, mitä palvelinpuolen sisältyy ja kuinka voit käyttää niitä.

Mitä palvelinpuolet sisältävät?

SSI tai Server Side Includes on kevyt skriptikieli, jota käytetään ensisijaisesti HTML-asiakirjojen upottamiseen muihin HTML-asiakirjoihin. Tämän ansiosta yhteisten elementtien, kuten otsikoiden, alatunnisteiden, sivupalkkien ja valikoiden, uudelleenkäyttö on helppoa. Voit ajatella sitä edeltävänä nykypäivän malleille ja sisällönhallintajärjestelmille.


SSI: llä on myös ehdolliset direktiivit (jos, jne.) Ja muuttujat, mikä tekee siitä täydellisen, joskin hieman vaikeasti käytettävän skriptikielen. (Tyypillisesti mikä tahansa hanke, joka on monimutkaisempi kuin kourallinen sisältyy, saa kehittäjän valitsemaan vankemman kielen, kuten PHP tai Perl.)

SSI: n käyttöönotto

Joissakin web-palvelinpalvelimissa on palvelinpuolen sisällyttäminen oletuksena käytössä. Jos ei, voit ottaa sen käyttöön .htaccess-tiedostolla, kuten näin:

AddType-teksti / html .shtml
AddHandler-palvelimen jäsentämä .shtml
Asetukset Hakemistot SeuraaSymLinks Sisältää

Tämän pitäisi sallia SSI kaikille tiedostoille, joilla on .shtml-tiedostotunniste.

SSI .html-tiedostoissa

Jos haluat ottaa SSI-jäsentämisen käyttöön .html-tiedostoissa, voit lisätä direktiivin suorittaaksesi tämän:

AddHandler-palvelimen jäsentämä .html

Tämän tekemisen etuna on, että voit käyttää SSI: tä antamatta maailmalle tietää, että käytät sitä. Lisäksi, jos muutat toteutuksia tulevaisuudessa, voit pitää .html-tiedostotunnisteesi.

Haittapuoli on, että jokainen .html-tiedosto parsoidaan SSI: n avulla. Jos sinulla on paljon .html-tiedostoja, jotka eivät todellakaan tarvitse mitään SSI-jäsentelyä, tämä voi aiheuttaa paljon tarpeettomia palvelimen yläpuolella, hidastaa sivujen latausaikoja ja käyttää prosessorin resursseja..

SSI hakemistosivullasi

Jos et halua jäsentää kaikkia .html-tiedostoja, mutta haluat käyttää SSI: tä hakemistosi (kotisivulla), sinun on määritettävä se .htaccess-tiedostossasi.

Tämä johtuu siitä, että kun verkkopalvelin etsii hakemiston hakemistosivua, se etsii hakemistoa index.html, ellet kerro toisin.

Jos et jäsentä .html-tiedostoja, tarvitset hakemistosivusi nimeltä index.shtml, jotta SSI voi toimia, ja palvelimesi ei tiedä etsiä sitä oletuksena..

Ota se käyttöön lisäämällä:

DirectoryIndex index.shtml index.html

Tämä varoittaa web-palvelinta siitä, että index.shtml-tiedosto on hakemiston päähakemistotiedosto. Toinen parametri, index.html, on varmuuskopio, jos index.shtml-tiedostoa ei löydy.

IP: n mustalle listalle ja IP: n sallittujen luetteloiden luominen

Voit estää .htaccess-sovelluksen estämällä käyttäjiä tietyltä IP-osoitteelta (mustalle listalle). Tämä on hyödyllistä, jos olet tunnistanut yksittäiset käyttäjät tietyistä IP-osoitteista, jotka ovat aiheuttaneet ongelmia.

Voit myös tehdä käänteisen ja estää kaikkia paitsi vieraita tietyllä IP-osoitteella (sallittujen luetteloiden luominen). Tämä on hyödyllistä, jos sinun on rajoitettava pääsy vain hyväksyttyihin käyttäjiin.

Musta lista IP: n mukaan

Voit estää tietyt IP-osoitteet käyttämällä seuraavaa direktiiviä asianmukaisilla IP-osoitteilla:

jotta sallia, kieltää
kieltää kohdasta 111.22.3.4
kieltää 789,56,4.
sallia kaikista

Ensimmäisessä rivissä todetaan, että sallimisdirektiivejä arvioidaan ensin ennen kieltäviä direktiivejä. Tämä tarkoittaa, että kaikista salliminen on oletustila, ja sitten vain ne, jotka vastaavat kieltäviä direktiivejä, hylätään.

Jos tämä käännetään kieltämään, sallimaan, viimeinen arvioitu asia olisi kaikkien direktiivien salliminen, joka antaisi kaikille mahdollisuuden kieltää kieltävät lausunnot.

Huomaa kolmas rivi, joka on kieltänyt kohdan 789.56.4. – Se ei ole täydellinen IP-osoite. Tämä estää kaikki kyseisen lohkon IP-osoitteet (kaikki, jotka alkavat numerolla 789.56.4).

Voit sisällyttää niin monta IP-osoitetta kuin haluat, yhden jokaiselle riville kieltämällä direktiivin.

Valkoinen luettelo IP: llä

Mustaluettelon kääntö on sallittujen luetteloiden lisääminen – rajoittaa kaikkia paitsi määrittelemiäsi.

Kuten saatat arvata, tilausdirektiivi on käännettävä siten, että ensin kaikki hylätään, mutta sitten tietyt osoitteet sallitaan.

tilata kieltää, sallia
kieltää kaikki
sallia välillä 111.22.3.4
sallia välillä 789,56,4.

Toimintojen estäminen

.htaccess-ohjelmaa voidaan käyttää käyttäjien estämiseen verkkotunnuksen tai viittauksen perusteella. Ja voit käyttää sitä estämään robotteja ja kaavinta. Otetaan selville miten.

Kuinka estää käyttäjiä verkkotunnuksen mukaan

Voit myös estää tai sallia käyttäjiä verkkotunnuksen perusteella. Tämä voi auttaa estämään ihmisiä, vaikka he siirtyisivät IP-osoitteesta IP-osoitteeseen.

Tämä ei kuitenkaan toimi ihmisissä, jotka voivat hallita käänteisen DNS-IP-osoitteensa kartoitusta.

jotta sallia, kieltää
kieltää esimerkistä.com
sallia kaikista

Tämä toimii myös aliverkkotunnuksissa – edellisessä esimerkissä myös sivuston xyz.example.com kävijät estetään.

Kuinka estää käyttäjiä viittaamalla

Viittaaja on verkkosivusto, joka sisältää linkin sivustoosi. Kun joku seuraa linkkiä sivustosi sivulle, viittaus on sivusto, josta he ovat tulleet.

Tämä ei kuitenkaan sovellu vain napsautettaviin hyperlinkkeihin verkkosivustollesi.

Missä tahansa Internet-sivulla voi olla linkki suoraan kuviin (“linkitys”) – kaistanleveyttä käyttämällä ja mahdollisesti loukkaavan tekijänoikeuksiasi, ilman että liikenteestä koituu sinulle hyötyä. Ne voivat myös linkittää CSS-tiedostoihisi, JS-skripteihisi tai muihin resursseihin.

Suurin osa verkkosivustojen omistajista on tässä hyvin, kun tapahtuu vain vähän, mutta joskus tällainen asia voi muuttua väärinkäytökseksi.

Lisäksi toisinaan tekstissä napsautettavat hyperlinkit ovat ongelmallisia, esimerkiksi kun ne tulevat vihamielisiltä verkkosivustoilta.

Mistä tahansa näistä syistä kannattaa ehkä estää tietyiltä viittaajilta tulevat pyynnöt.

Tätä varten tarvitset mod_rewrite-moduulin. Tämä on oletuksena käytössä useimmissa Web-koneissa, mutta jos se ei ole (tai et ole varma), voit yleensä kysyä vain hosting-yritykseltäsi. (Jos he eivät voi tai eivät ota sitä käyttöön, kannattaa ehkä miettiä uutta isäntää.)

.Htaccess-direktiivit, jotka suorittavat viittauspohjaisen eston, luottavat mod_rewrite-moottoriin.

Viittaaman estämä koodi näyttää tältä:

RewriteEngine päälle
RewriteCond% ^ http: //.*example.com [NC, OR]
RewriteCond% ^ http: //.*anotherexample.com [NC, OR]
RewriteCond% ^ http: //.*onemoreexample.com [NC]
RewriteRule. * – [F]

Tämä on vähän hankala, joten annetaan kävellä sen läpi.

Ensimmäinen rivi, RewriteEngine päällä, ilmoittaa jäsentäjälle, että kirjoittamiseen liittyviä direktiivejä on tulossa.

Seuraavat kolme riviä estävät yhden viittausalueen. Osa, jonka tarvitset vaihtaa omaan käyttöön, on verkkotunnus (esimerkki) ja laajennus (.com).

Taakseviiva ennen .com on paeta merkkiä. Verkkotunnuksessa käytetty mallihaku on säännöllinen lauseke, ja piste tarkoittaa jotain RegExissä, joten se on “pakennettava” kääntöviivalla.

Suluissa oleva NC ilmoittaa, että ottelun ei pitäisi olla kirjainkoolla. TAI on kirjaimellinen “tai”, ja tarkoittaa, että on olemassa muita sääntöjä. (Eli jos URL on tämä tai tämä tai tämä, noudata tätä uudelleenkirjoitussääntöä.)

Viimeinen rivi on todellinen uudelleenkirjoitussääntö. [F] tarkoittaa ”kiellettyä”. Kaikki pyynnöt, joissa viittaus vastaa luettelossa olevia, epäonnistuvat ja tuottavat 403 Kielletty -virheen.

Bottien ja Web-kaavinten estäminen

Yksi häiritsevimmistä verkkosivuston hallinnan näkökohdista on havaita, että kaistanleveyttä syövät vierailijat, jotka eivät ole ihmisiä – robotit, indeksoijat, verkkokaapimet.

Nämä ovat ohjelmia, jotka on suunniteltu poistamaan tietoa sivustostasi yleensä tarkoituksenaan julkaista se uudelleen osana jonkin verran heikkolaatuista SEO-toimintaa.

Siellä on tietysti laillisia robotteja – kuten suurten hakukoneiden tuottamat. Mutta loput ovat kuin tuholaisia, jotka vain syövät resursseistasi eivätkä anna sinulle mitään arvoa.

Tunnistettuja satoja robotteja on useita. Et koskaan pysty estämään kaikkia niitä, mutta voit pitää aktiviteetin tylsään pahoinpitelyyn estämällä niin monta kuin mahdollista.

Käytettävissä on hyödyllinen kirjoitussääntöjoukko, joka estää yli 400 AskApachen koottua tunnettua robottiä.

Oletustiedoston määrittäminen hakemistoon

Kun verkkopalvelimelta pyydetään URL-osoitetta, jossa ei määritetä tiedostonimeä, useimpiin verkkopalvelimiin rakennettu oletus on, että URL viittaa hakemistoon.

Joten jos pyydät http://example.com, Apache (ja useimmat muut web-palvelimet) etsii verkkotunnuksen (yleensä / public_html tai jotain vastaavaa, mutta ehkä / esimerkki-com) oletusasetuksen juurihakemistosta tiedosto.

Oletustiedosto on oletuksena nimeltään index.html. Tämä palaa taaksepäin Internetin alkuun, kun verkkosivusto oli vain kokoelma asiakirjoja, ja ”kotisivu” oli yleensä hakemisto näistä asiakirjoista.

Mutta et ehkä halua index.html olevan oletussivu. Saatat tarvita esimerkiksi toisen tiedostotyypin, kuten index.shtml, index.xml tai index.php.

Tai et ehkä ajattele kotisivusi “hakemistona” ja haluat kutsua sitä toiseksi, kuten home.html tai main.html.

Oletushakemistosivun asettaminen

.htaccess antaa sinun asettaa hakemiston oletussivu helposti:

DirectoryIndex [tiedostonimi täällä]

Jos haluat, että oletusarvo on home.html, se on niin helppoa kuin:

DirectoryIndex home.html

Useiden oletussivujen asettaminen

Voit myös määrittää useamman kuin yhden DirectoryIndex:

DirectoryIndex index.php index.shtml index.html

Tämä toimii siten, että web-palvelin etsii ensin ensimmäisen. Jos se ei löydä sitä, se etsii toisen ja niin edelleen.

Miksi haluat tehdä tämän? Tiedät varmasti, mitä tiedostoa haluat käyttää oletussivuksi, eikö niin?

Muista, että .htaccess vaikuttaa sen omaan hakemistoon ja jokaiseen alihakemistoon, kunnes paikallinen tiedosto korvaa sen. Tämä tarkoittaa, että juurihakemistossa oleva .htaccess-tiedosto voi antaa ohjeita monille alihakemistoille ja jokaisella voi olla oma oletussivun nimi.

Mahdollisuus sijoittaa nämä säännöt yhteen .htaccess-tiedostoon juurissa tarkoittaa, että sinun ei tarvitse kopioida kaikkia tiedostoa koskevia kaikkia direktiivejä jokaisella hakemistotasolla.

URL-osoitteiden uudelleenohjaukset ja URL-osoitteiden uudelleenkirjoittaminen

Yksi .htaccess-tiedostojen yleisimmistä käyttötavoista on URL-uudelleenohjaukset.

URL-osoitteiden uudelleenohjauksia tulee käyttää, kun asiakirjan tai resurssin URL-osoite on muuttunut. Tämä on erityisen hyödyllistä, jos olet uudelleen organisoinut verkkosivustosi tai muuttanut verkkotunnuksia.

301 vs. 302 uudelleenohjaukset

Selaimen näkökulmasta on olemassa kahden tyyppisiä uudelleenohjauksia, 301 ja 302. (Nämä numerot viittaavat verkkopalvelimen luomaan virhekoodiin.)

301 tarkoittaa “pysyvästi siirrettyä”, kun taas 302 tarkoittaa “siirretty väliaikaisesti”. Useimmissa tapauksissa haluat käyttää 301. Tämä säilyttää kaiken alkuperäisen URL-osoitteen SEO-pääoman siirtämällä sen uudelle sivulle.

Useimmat selaimet myös päivittävät kirjanmerkit. Useimmat selaimet välimuistiin tallentavat myös vanhan ja uuden, joten ne vain pyytävät uutta URL-osoitetta, kun linkki tai käyttäjä yrittää päästä alkuperäiseen. Jos URL on muuttunut pysyvästi, nämä ovat kaikki toivottavia tuloksia.

302-uudelleenohjauksen käyttämiseen ei ole mitään syytä, koska URL-osoitteen tilapäiseen muuttamiseen on yleensä hyvin vähän syitä. URL-osoitteen muuttaminen koskaan ei ole toivottavaa, mutta on joskus välttämätöntä. Sen muuttaminen väliaikaisesti suunnitelmalla muuttaa sitä myöhemmin takaisin on huono idea ja sitä on lähes aina mahdollista välttää.

Kaikissa tämän osion esimerkeissä käytetään 301-uudelleenohjausta.

Uudelleenohjaus vs. uudelleenkirjoitus

URL-osoitteen muuttamiseen .htaccess-direktiiveillä on kaksi tapaa – Uudelleenohjaus-komento ja mod_rewrite-moottori.

Uudelleenohjaus-komento todella lähettää uudelleenohjausviestin selaimeen, joka kertoo sille, mitä muuta URL-osoitetta etsitään.

Tyypillisesti mod_rewrite-työkalu ”kääntää” yhden URL-osoitteen (pyynnössä esitetyn) johonkin, joka tiedostojärjestelmä tai CMS ymmärtää, ja käsittelee sitten pyynnön ikään kuin käännetty URL olisi pyydetty URL.

Tällä tavalla käytettäessä selain ei huomaa tapahtuneen mitään – se vain vastaanottaa pyydetyn sisällön.

Mod_rewrite-työkalua voidaan käyttää myös tuottamaan 301 uudelleenohjausta, jotka toimivat samalla tavalla kuin Uudelleenohjaus-komento, mutta joissa on enemmän sääntöjä koskevia sääntöjä – mod_rewrite voi olla monimutkainen mallihaku- ja kirjoitusohjeet, joita Uudelleenohjaus ei voi hyödyntää.

Perussivun uudelleenohjaus

Sivun ohjaamiseksi toiselle URL-osoitteelle koodi on:

Uudelleenohjaus 301 / suhteellinen-url.html http://esimerkki.fi/täydellinen-url.html

Tässä yksirivisessä komennossa on neljä osaa, joista kukin on erotettu yhdellä välilyönnillä:

  • Uudelleenohjaus-komento
  • Uudelleenohjauksen tyyppi (301 – siirretty pysyvästi)
  • Alkuperäisen sivun suhteellinen URL-osoite
  • Uuden sivun täydellinen ja täydellinen URL-osoite.

Suhteellinen URL on suhteessa hakemistoon, joka sisältää .htaccess-tiedoston, joka on yleensä verkkojuuri tai verkkotunnuksen juuri.

Joten jos http://example.com/blog.php olisi siirretty osoitteeseen http://blog.example.com, koodi olisi seuraava:

Uudelleenohjaus 301 /blog.php http://blog.example.com

Suuren osan verkkosivustosi ohjaaminen

Jos olet siirtänyt hakemistorakennetta, mutta pitänyt sivunimesi samoina, saatat haluta ohjata kaikki tietyn hakemiston pyynnöt uuteen..

Uudelleenohjaus 301 / vanha hakemisto http://example.com/uusi-hakemisto

Koko sivuston uudelleenohjaus

Entä jos koko sivustosi on siirtynyt uuteen URL-osoitteeseen? Helppo.

Uudelleenohjaus 301 / http://newurl.com

Www: n uudelleenohjaus muihin kuin www-osoitteisiin

Verkkosivustot ovat siirtymässä yhä enemmän www-aliverkkotunnuksesta.

Se ei ole koskaan ollut välttämätöntä, mutta se oli pidätys ajankohdasta, jolloin suurin osa verkkosivustoa ylläpitäneistä ihmisistä käytti palvelinta tallentaakseen paljon omia asiakirjojaan, ja www- tai ”World Wide Web -hakemistoa käytettiin sisältöön, jota he halusivat jaa muiden kanssa.

Nykyään jotkut käyttävät sitä, toiset eivät. Valitettavasti jotkut käyttäjät kirjoittavat edelleen www. jokaisen URL-osoitteen edessä tapana. Jos et käytä www: tä, haluat varmistaa, että nämä pyynnöt laskeutuvat oikeaan paikkaan.

Tätä varten sinun on käytettävä mod_rewrite-moduulia, joka on todennäköisesti jo asennettu Web-isäntään.

Valinnat + Seuraavat linkit
RewriteEngine päälle
RewriteCond% ^ www.example.com [NC]
RewriteRule ^ (. *) $ Http://example.org/$1 [R = 301, NC]

Ole varovainen!

Monet muut .htaccess- ja mod_rewrite-oppaat tarjoavat jonkin muunnoksen seuraavasta koodista tämän saavuttamiseksi:

Valinnat + Seuraavat linkit
RewriteEngine päälle
RewriteCond%! ^ Esimerkki.com [NC]
RewriteRule ^ (. *) $ Http://example.org/$1 [R = 301, NC]

Näetkö ongelman tässä?

Se ohjaa kaikki aliverkkotunnukset ensisijaiseen verkkotunnukseen. Joten ei vain www.example.com, vaan myös blog.example.com ja admin.example.com ja mikä tahansa muu. Tämä ei todennäköisesti ole haluamaasi käyttäytymistä.

Uudelleenohjaus www

Entä jos käytät www-aliverkkotunnusta?

Sinun pitäisi todennäköisesti perustaa uudelleenohjaus varmistaaksesi, että ihmiset pääsevät sinne, mihin he yrittävät mennä. Varsinkin nyt, kun harvemmat ihmiset todennäköisesti lisäävät kyseisen www-osoitteen automaattisesti URL-osoitteiden alkuun.

Kääntät vain yllä olevan koodin.

RewriteEngine päällä
RewriteCond% ^ esimerkki.com [NC]
RewriteRule ^ (. *) Http://www.website.com/$1 [R = 301, NC]

Pitäisikö minun ohjata 404 -virheet kotisivulle?

Useat .htaccess-uudelleenohjauksen oppaat sisältävät ohjeet siitä, kuinka 404 virhettä voidaan ohjata uudelleen kotisivulle.

Tämä on hyvä esimerkki siitä, että vain koska voit tehdä jotain, se ei tarkoita, että sinun pitäisi tehdä jotain.

404 -virheen ohjaaminen sivuston kotisivulle on kauhea idea. Se hämmentää kävijöitä, jotka eivät voi selvittää, miksi he näkevät sivuston etusivun oikean 404 -virhesivun sijasta.

Kaikilla verkkosivustoilla tulisi olla mukautettu 404-sivu, joka selittää käyttäjälle selvästi, että sisältöä ei löydy, ja tarjoaa ihannetapauksessa joitain hakuominaisuuksia, jotka auttavat käyttäjää löytämään etsimänsä.

Miksi käyttää .htaccess vaihtoehtojen sijasta?

Voit määrittää uudelleenohjauksen PHP-tiedostoissa tai muun tyyppisillä palvelinpuolen komentosarjoilla. Voit myös asettaa ne sisällönhallintajärjestelmääsi (mikä on periaatteessa sama asia).

Mutta .htaccess-sovelluksen käyttö on yleensä nopein uudelleenohjauksen tyyppi. PHP-pohjaisilla uudelleenohjauksilla tai muilla palvelinpuolen komentosarjojen kielillä koko pyyntö on suoritettava ja skripti todella tulkittava ennen uudelleenohjausviestin lähettämistä selaimeen.

.Htaccess-uudelleenohjauksilla palvelin vastaa suoraan pyyntöön uudelleenohjausviestillä. Tämä on paljon nopeampaa.

Huomaa kuitenkin, että – jotkut sisällönhallintajärjestelmät todella hallitsevat uudelleenohjauksia päivittämällä .htaccess ohjelmallisesti. Esimerkiksi WordPressissä on uudelleenohjauslaajennukset, jotka toimivat tällä tavalla. (Ja WP: n kauniit URL-järjestelmät tekevät myös tämän.)

Tämä antaa sinulle suorituskyvyn .htaccess-sovelluksen käytöstä suoraan, samalla kun hallitset käyttömukavuutta sovelluksesi sisällä.

.Htaccess-tiedoston piilottaminen: Turvallisuusnäkökohdat

Ei ole mitään syytä siihen, että jonkun pitäisi voida katsella .htaccess-tiedostoasi verkosta.

Lisäksi on joitain suuria syitä, joiden vuoksi sinun ei ehdottomasti halua, että ihmiset näkevät .htaccess-tiedostosi.

Suurin ongelma on, että jos käytät .htpasswd-tiedostoa, sen sijainti ilmoitetaan .htaccess-tiedostossa. Tietäen mistä se löytyy, se on helpompi löytää.

Lisäksi et yleensä halua antaa yleisölle yksityiskohtia toteutuksesta.

Kirjoita uudelleen säännöt, hakemistoasetukset, suojaus – kaikki asiat, joissa .htaccess-käyttö on – on hyvä tietoturvakäytäntö piilottaa tämä kaikki kulissien takana Web-palvelimella. Mitä enemmän hakkeri voi oppia järjestelmästäsi, sitä helpompaa on kompromissi.

.Htaccess-tiedostosi on erittäin helppo piilottaa julkisesta näkymästä. Lisää vain seuraava koodi:

jotta sallia, kieltää
kieltää kaikki

MIME-tyyppien ottaminen käyttöön

MIME-tyypit ovat tiedostotyyppejä. Niitä kutsutaan MIME-tyypeiksi, koska he ovat alun perin liittyneet sähköpostiin (MIME tarkoittaa “monikäyttöisiä Internet-postilaajennuksia”). Niitä ei kutsuta vain “tiedostotyypeiksi”, koska MIME tarkoittaa tietyn tyyppistä tiedostotyypin määrittämistä.

Jos olet koskaan kirjoittanut HTML-asiakirjan, olet todennäköisesti määrittänyt MIME-tyypin, vaikka et tiennyt sitä:

Tyyppi-attribuutti viittaa tiettyyn MIME-tyyppiin.

MIME-tyypit palvelimellasi

Joskus huomaat, että Web-palvelinta ei ole määritetty toimittamaan tietyn tyyppistä tiedostoa. Se vain ei toimi – tiedostopyynnöt vain epäonnistuvat.

Useimmissa tapauksissa voit korjata tämän ongelman lisäämällä MIME-tyypin .htaccess-tiedostoosi.

AddType text / richtext rtx

Tässä direktiivissä on kolme osaa, joista kukin on erotettu välilyönnillä:

  • AddType-komento
  • MIME-tyyppi
  • Tiedostotunniste.

Jos haluat liittää useita erilaisia ​​tiedostotunnisteita samaan MIME-tyyppiin, voit tehdä sen yhdellä rivillä.

AddType-kuva / jpeg jpeg jpg jpe JPG

Pakota lataa MIME Type

Jos haluat, että kaikki tiettyihin tiedostotyyppeihin liittyvät linkit avautuvat latauksina sen sijaan, että selaimessa avataan, teet sen MIME-tyyppisellä sovelluksella / octet-stream, kuten näin:

AddType-sovellus / oktettivirta pdf

Voit jälleen määrittää useita tiedostotunnisteita yhdellä tyypillä:

AddType-sovellus / oktettivirta pdf doc docx rtf

Luettelo tiedostotunnisteista ja MIME-tyypeistä

Tässä on aivan täydellinen luettelo tiedostomuodoista ja niihin liittyvistä MIME-tyypeistä.

Jos hallinnoit omaa verkkosivustoasi ja tiedät, minkä tyyppisissä julkaiset resursseja, niin sinun ei tarvitse liittää tätä koko luetteloa .htaccess-tiedostoosi.

Jos kuitenkin ylläpidät sivustoa, johon monet muut ihmiset osallistuvat ja julkaisevat sisältöä, saatat haluta sallia vain suuren määrän tiedostotyyppejä tällä tavalla varmistaaksesi, ettei kukaan ole huono kokemus.

Tämä pätee erityisesti, jos ylläpidät sivustoa, jossa ihmiset voivat jakaa erityisen paljon tiedostoja, esimerkiksi tiedostojenjakosivusto, projektinhallintasovellus (jossa useita tiedostoja liitetään usein projektiin) tai verkkosovellus, joka käsittelee sähköposti.

AddType-sovellus / macbinhex-40 hqx
AddType-sovellus / netalive net
AddType-sovellus / netalivelink nel
AddType-sovellus / oktettivirran bin exe
AddType-sovellus / oda oda
AddType-sovellus / pdf pdf
AddType-sovellus / postscript ai eps ps
AddType-sovellus / rtf rtf
AddType-sovellus / x-bcpio bcpio
AddType-sovellus / x-cpio cpio
AddType-sovellus / x-csh csh
AddType-sovellus / x-Director dcr
AddType-sovellus / x-ohjaaja oh
AddType-sovellus / x-Director dxr
AddType-sovellus / x-dvi dvi
AddType-sovellus / x-gtar gtar
AddType-sovellus / x-hdf hdf
AddType-sovellus / x-httpd-cgi cgi
AddType-sovellus / x-lateksilateksi
AddType-sovellus / x-mif-mif
AddType-sovellus / x-netcdf nc cdf
AddType-sovellus / x-onlive sds
AddType-sovellus / x-sh sh
AddType-sovellus / x-shar shar
AddType-sovellus / x-sv4cpio sv4cpio
AddType-sovellus / x-sv4crc sv4crc
AddType-sovellus / x-tar-tar
AddType-sovellus / x-tcl tcl
AddType-sovellus / x-tex tex
AddType-sovellus / x-texinfo texinfo texi
AddType-sovellus / x-troff t tr roff
AddType-sovellus / x-troff-man mies
AddType-sovellus / x-troff-me me
AddType-sovellus / x-troff-ms ms
AddType-sovellus / x-ustar ustar
AddType-sovellus / x-wais-source src
AddType-sovellus / postinumero
AddType-ääni / perustaso
AddType audio / x-aiff aif aiff aifc
AddType audio / x-midi mid
AddType audio / x-pn-realaudio ram
AddType audio / x-wav wav
AddType-kuva / gif gif GIF
AddType-kuva / ief ief
AddType-kuva / jpeg jpeg jpg jpe JPG
AddType-kuva / tiff tiff tif
AddType-kuva / x-cmu-raster ras
AddType-kuva / x-kannettava-anymap pnm
AddType-kuva / x-kannettava-bittikartta pbm
AddType-kuva / x-kannettava-harmaa kartta pgm
AddType-kuva / x-kannettava-pixmap ppm
AddType-kuva / x-rgb rgb
AddType-kuva / x-xbitmap xbm
AddType-kuva / x-xpixmap xpm
AddType-kuva / x-xwindowdump xwd
AddType-teksti / html html
AddType-teksti / tavallinen teksti
AddType text / richtext rtx
AddType-teksti / välilehdillä erotetut arvot tsv
AddType text / x-server-parsed-html shtml sht
AddType-teksti / x-tekstiteksti etx
AddType-video / mpeg mpeg mpg mpe
AddType-video / pika-aika qt mov
AddType video / x-msvideo avi
AddType-video / x-sgi-elokuva
AddType x-world / x-vrml -kirjoitus

Estä kuuma linkitys

Pikalinkitys on käytäntö linkittää resursseja muista verkkotunnuksista sen sijaan, että latataan sisältöä omaan palvelimeesi ja palvella sitä itse.

Oletetaan, että löydät kuvan todella pitämästäsi verkkosivustosta ja haluat käyttää sitä sivustossasi. Ohita tekijänoikeuskysymykset tällä hetkellä – voit ladata kuvan, ladata sen verkkosivustollesi ja upottaa sen sivullesi kuten normaalisti.


Mutta jos olit laiska tai yritit säästää kaistanleveyttä tai et tiennyt kuinka ladata tiedostoa, voit upottaa sen suoraan alkuperäiseen tiedostoon.

Se on linkitys. Näin tapahtuu myös CSS- ja JS-tiedostoilla, mutta kuvat ovat yleisimmät.

Jotkut verkkosivustot / isännät eivät välitä ollenkaan, jos teet tämän – voit linkittää Wikipedian kuvia hotlinkistä ketään häiritsemättä. Ja jotkut sivustot kannustavat sitä muodossa tai toisessa.

Esimerkiksi JQuery tarjoaa niiden JS-kirjastot CDN: n (Content Delivery Network) välityksellä, joten voit luoda linkin suoraan siihen tarvitsematta ladata sitä ja palvella sitä omalta palvelimelta..

Mutta monet web-isäntä pitävät pikalinkin muodostumista kaistanleveyden ja resurssien varastamisen muodossa.

On varma, että jos sinulla on suhteellisen pieni sivusto, sinulla ei ole varaa olla päivittäin tuhansia tai kymmeniä tuhansia pyyntöjä resursseille, joilla ei ole mitään tekemistä sivustosi todellisten kävijöiden kanssa.

Jos sinulla on ongelmia kuumien linkkien kanssa, voit poistaa sen käytöstä lisäämällä .htaccess-tiedostoon lisättyjä mod_rewrite-sääntöjä..

RewriteEngine päälle
RewriteCond%! ^ $
RewriteCond%! ^ Http: // (www.)? Esimerkki.com /.*$ [NC]
RewriteRule. (Gif | jpg | jpeg | png | js | css) $ – [F]

Muista vaihtaa esimerkki.com kolmannella rivillä todelliseen verkkotunnukseesi. Tämä tarttuu kaikkiin pyyntöihin, jotka eivät tule verkkotunnukseltasi, ja tarkistaa sitten, vastaako se jotakin määritettyistä tiedostotunnisteista neljännessä rivissä. Jos ottelua löytyy, pyyntö epäonnistuu.

Jos haluat lisätä muita tiedostopäätteitä, voit muokata viimeistä riviä.

Vaihtoehtoisen sisällön tarjoaminen

Jos haluat kertoa maailmalle, miksi niiden pikalinkitys on yhtäkkiä lakannut toimimasta, voit korvata pikalinkitetyt kuvat erityisillä kuvilla viestillä, kuten ”Me vihaamme hotlinkkejä!” tai ”Alkuperäinen sisältö saatavana osoitteessa http://example.com”.

Pyynnön epäonnistumisen sijaan voit vain ohjata sen “erityiseen” kuvaan:

RewriteEngine päälle
RewriteCond%! ^ $
RewriteCond%! ^ Http: // (www.)? Esimerkki.com /.*$ [NC]
RewriteRule. (Gif | jpg) $ http://www.example.com/no-hotlinking.jpg [R, L]

Jos haluat todella sotkea ihmisten kanssa, voit ohjata JavaScript- tai CSS-tiedostot erityisiin vaihtoehtoihin, joilla voi olla valitettavia vaikutuksia hotlinkerille. Tätä ei kuitenkaan suositella.

RewriteEngine päälle
RewriteCond%! ^ $
RewriteCond%! ^ Http: // (www.)? Esimerkki.com /.*$ [NC]
RewriteRule. (Js) $ http://www.example.com/break-everything.js [R, L]

RewriteEngine päälle
RewriteCond%! ^ $
RewriteCond%! ^ Http: // (www.)? Esimerkki.com /.*$ [NC]
RewriteRule. (Css) $ http://www.example.com/super-ugly.css [R, L]

Poista hakemisto käytöstä tai ota se käyttöön

Mitä tapahtuu, jos sinulla on hakemisto, joka on täynnä asiakirjoja tai muita resursseja, ei index.html-tiedostoa ja .htaccess-tiedostossa ole määritetty oletushakemistosivua?

Monissa tapauksissa tulos on yleinen hakemisto, joka sisältää kaikki hakemistossa olevat tiedostot.

Oikein. Jos isäntähakemistossasi on kansio merkitty / images, ja sillä ei ole index.html-sivua, kun joku navigoi osoitteeseen http://yousite.com/images, hän näkee luettelon kaikista kuvista paikka.

Se on useimpien verkkopalvelimien oletuskäyttäytyminen, ja alkuperäisen Web-sivuston käsityksen kannalta on järkevää yksinkertaisesti pitää asiakirjoja säilytys- ja jakamispaikkana. Mutta tämä ei ole toivottua käyttäytymistä useimmilla sivustoilla.

Indeksien poistaminen käytöstä

Monet web-tilit poistavat tämän käytöstä jo osana yleistä kokoonpanoaan. Mutta kaikki eivät tee niin.

Jos joudut poistamaan automaattisesti luodut hakemistoluettelot käytöstä, se on helppoa:

Vaihtoehdot -Indexit

Indeksien ottaminen käyttöön

Jos verkkopalvelimesi on poistanut indeksit osana globaalia kokoonpanoa, mutta et halua niitä, voit ottaa ne käyttöön yllä olevan komennon päinvastaisella tavalla..

Valinnat + Hakemistot

Joidenkin tiedostojen piilottaminen hakemistosta

Jos haluat näyttää hakemistoluettelot, mutta haluat piilottaa tietyt tiedostotyypit luettelosta, voit myös tehdä sen.

HakemistoIgnore * .gif * .jpg

* On jokerimerkkijono. Yllä oleva direktiivi piilottaa kaikki tiedostot, joiden tiedostopääte on .gif tai .jpg. Jos haluat olla tarkempi, voit:

HakemistoIgnore secret-image.jpg

Aktivoi CGI kaikkialla

CGI, tai Common Gateway Interface, on palvelinpuolen menetelmä muiden kuin HTML-skriptien (kuten Perl tai SSI) sisällyttämiseksi verkkosivuille.

CGI-skriptit tallennetaan tyypillisesti kansioon, jonka etiketti on / cgi-bin. Verkkopalvelin on määritetty käsittelemään kaikkia hakemiston resursseja komentosarjoina eikä sivuna.

Tämän ongelma on kaksitahoinen: CGI-resursseihin viittaavissa URL-osoitteissa on oltava / cgi-bin /, jotka sijoittavat toteutustiedot URL-osoitteesi – anti-malli, jota on vältettävä useista syistä.

Monimutkainen verkkosivusto voi tarvita parempaa organisaatiorakennetta kuin yksinkertaisesti yhden skriptin juuttuminen yhteen / cgi-bin-kansioon.

Jos haluat, että Web-palvelimesi jäsentää CGI-skriptejä riippumatta siitä, missä ne löytyvät hakemistorakenteesta, lisää vain .htaccess-tiedostoosi seuraava:

AddHandler cgi-script .cgi
Valinnat + ExecCGI

Jos sinulla on muita tiedostopäätteitä, jotka haluat käsitellä CGI-komentosarjoina, voit lisätä ne ensimmäiselle riville.

Skriptit lähdekoodina

Useimmiten laitat skriptejä verkkohakemistoon, koska haluat, että niitä ajaa skripteinä.

Mutta joskus se ei ole mitä haluat. Joskus haluat näyttää lähdekoodin julkisille vierailijoille komentosarjan suorittamisen sijasta.

Tämä voi olla tilanne, jos käytät tiedostonjakopalvelua tai koodisäilytyspaikkaa ja haluat, että ihmiset näkevät lähdekoodin ja pystyvät lataamaan sen, mutta skriptit ovat oikeastaan ​​osa sivustosi toimintoja.

Tämä voidaan tehdä .htaccess-tiedostostasi poistamalla tiettyjen tiedostotyyppien skriptinkäsittelyohjelma ja korvaamalla se tekstinkäsittelyohjelmalla.

RemoveHandler cgi-skripti .pl .cgi .php .py
AddType text / plain .pl .cgi .php .py

Vaihtoehtoisesti, kuten aiemmin mainittiin, voit pakottaa näiden laajennusten sisältävät tiedostot lataamaan automaattisesti eikä näyttämään.

RemoveHandler cgi-skripti .pl .cgi .php .py
AddType-sovellus / oktettivirta .pl .cgi .php .py

Ole kuitenkin varovainen kummankin kanssa. Jos haluat vain joidenkin tiedostojen näyttävän tällä tavalla, mutta käytät silti näitä skriptejä muun verkkosivustosi kanssa, sinulla on huono aika, jos laitat kyseisen direktiivin Web-juurisi .htaccess-tiedostoon.

Parempi käytäntö olisi sijoittaa kaikki tällaiset “vain näyttö” -skriptit yhteen hakemistoon ja sijoittaa direktiivi sitten .htaccess-tiedostoon siihen kansioon..

PHP-asetusten määrittäminen

Joskus sinun on muokata PHP-asetuksia. Oikea tapa tehdä tämä on tiedostossa nimeltä php.ini.

Valitettavasti kaikki web-hosting-yritykset eivät salli asiakkaidensa muokata php.ini-tiedostoa. Tämä pätee erityisesti jaettuihin palveluntarjoajiin, joissa yksi PHP-asennus saattaa ajaa satoja verkkosivustoja.

Onneksi on olemassa kiertotapa – voit upottaa php.ini-säännöt .htaccess-tiedostoosi.

Syntaksi näyttää seuraavalta:

php_value [asetusnimi] [arvo]

Joten esimerkiksi jos sinun on nostettava tiedostojen enimmäiskokoa (yleinen ongelma), se on yhtä helppoa kuin:

php_value upload_max_filesize 10M

Kaikkia PHP-asetuksia ei voi määritellä .htaccess-tiedostoissa. Et voi esimerkiksi poistaa luokkia pois käytöstä tällä tavalla.

Täydellinen luettelo kaikista php.ini-asetuksista on virallisissa php.ini-ohjeissa.

Kuinka estää PHP: n saatavuus sisältää tiedostoja

PHP: n sisältämiin tiedostoihin luvattoman käytön estämiseksi on useita tapoja.

Ensinnäkin, voit laittaa ne hakemistoon ja asettaa .htaccess-tiedostosi estämään kaiken pääsyn kyseiseen hakemistoon (ts. Estä kaikilta, jos käytät Apache HTTP -palvelinta). Jos joku yrittää käyttää tiedostoa, hän saa HTTP 403 kielletty vastaus.

Voit vaihtoehtoisesti tallentaa nämä tiedostot hakemiston ulkopuolelle, josta verkkosivustosi tiedostot näytetään. Eli jos palvelimesi palvelee tiedostoja, jotka sijaitsevat / Srv / home, voit laittaa sisällyttämäsi tiedostot alle / Srv / home / sisältää. Tämä tekee tiedostoista esteettömiä URL-osoitteiden kautta, vaikka voit käyttää niitä ja käyttää niitä seuraavasti: sisällytä ‘PATH_TO_YOUR_FILE’

Lopuksi voit määrittää URL-vakion tiedostoille, joita haluat käyttää:

define (‘WEBSITE_URL’, ‘http://example.com’);

Sisällytä sitten seuraava tarkistus tiedostoille, joita et halua käyttää:

if (! määritelty (‘WEBSITE_URL’))) {
header ($ _ SERVER ["SERVER_PROTOCOL"] . "403 Ei sallittu");
poistua;
}

Kuinka estää pääsy PHP-tiedostoihin

Tapa estää ini-tiedostojen luvaton käyttö on muokata .htaccess-tiedostoa estämään pääsy ini-tiedostoihin (ts. Kieltää kaikki, jos käytät Apachea).

Palvelimen aikavyöhykkeen asettaminen

Voit asettaa palvelimen aikavyöhykkeen määrittämällä sen .htaccess-tiedostoosi. Sinun on lisättävä seuraava rivi:

php_value date.timezone ‘Alue / Alue’

Muista korvata alue / vyöhyke haluamallasi aikavyöhykkeellä.

Tallenna tiedosto. Voit testata muutoksesi luomalla PHP-testitiedoston, joka sisältää seuraavat asiat samassa hakemistossa kuin .htaccess-tiedosto:

<?php phpinfo (); ?>

Lataa tiedosto selaimeesi ja etsi direktiivin nimi – sen Paikallinen arvo -sarakkeen pitäisi näyttää uusi aikavyöhykeasetuksesi.

Milloin et käytä .htaccess-tiedostoa

.Htaccess-tiedoston muokkaaminen ensimmäistä kertaa voi antaa sinulle äkillisen valtavan tunteen Web-hosting-ympäristöstäsi. Tunnet yhtäkkiä sysadmininä.

Valitettavasti tämä valta voi mennä pään päälle, ja saatat joutua käyttämään .htaccess-tiedostoa tavoilla, jotka eivät ole parhaiten.

Kun sinun on tehtävä jotain, joka vaikuttaa .htaccess-tyyppiseltä työltä, on periaatteessa kaksi tilannetta, joissa sinun pitäisi laittaa kyseinen direktiivi muualle.

Edelleen ylävirtaan

Aina kun mahdollista, tyyppejä, jotka voit sijoittaa .htaccess-tiedostoon, on parempi sijoittaa httpd.conf-tiedostoon, joka on koko palvelimen kokoonpanotiedosto..

Samoin PHP-asetukset kuuluvat oikeammin php.ini-tiedostoon, ja useimmilla muilla kielillä on samanlaiset kokoonpanotiedostot.

Ohjeiden asettaminen edelleen ylävirtaan, httpd.conf-, php.ini- tai muuhun kielikohtaiseseen määritystiedostoon mahdollistaa näiden asetusten “paistamisen” web-palvelimen jäsennysmoottoriin. .Htaccess -sovelluksen avulla direktiivit on tarkistettava ja tulkittava jokaisen pyynnön yhteydessä.

Jos sinulla on vähäliikenteinen sivusto, jossa on vain kourallinen .htaccess-direktiivejä, tämä ei ole iso asia. Mutta jos sinulla on paljon liikennettä ja paljon direktiivejä, suorituskyvyn viive voi todella lisätä.

Valitettavasti monet jaetut palveluntarjoajat eivät salli asiakkaiden käyttää httpd.conf- tai php.ini-tiedostoja, ja pakottavat käyttäjät luottamaan hitaampaan .htaccess-tiedostoon.

Tämä tarjoaa kaksinkertaisen rangaistuksen verrattuna mukautettuihin VPS-kokoonpanoihin, koska jaettu isäntä on myös yleensä vähätehoinen. Tämä on yksi syy siihen, että sivuston, jolla on kunniallista liikennettä, pitäisi todennäköisesti olla VPS-suunnitelmassa jaetun hosting-suunnitelman sijaan.

Edelleen alavirtaan

Jos käytät hyvää sisällönhallintajärjestelmää (CMS), kuten WordPress tai Drupal, jotkut .htaccess-tiedostossa tekemäsi asiat – kuten uudelleenohjaus-URL-osoitteet tai estää IP-osoitteet – voidaan tehdä sovelluksen sisällä..

Usein tämä toimii yhdessä .htaccess-tiedoston kanssa, kun sovellus lisää ohjelmallisesti direktiivejä.

Kun tämä on käytettävissä, on yleensä parasta suorittaa nämä tehtävät sovelluksen sisällä sen sijaan, että muokkaat .htaccess-tiedostoa itse. Et todennäköisesti ota käyttöön virheitä ja yhteensopimattomia direktiivejä, jos käytät hyvin testattua avoimen lähdekoodin laajennusta.

Ongelmien karttoittaminen

Messinki .htaccess-tiedostollasi voi olla hienoa – mutta se voi myös aiheuttaa palvelimellesi tarttumisen ja alkaa toimittaa 500 sisäisen palvelimen virheilmoitusta..

Tässä on muutamia ideoita, jotka auttavat sinua tämän saavuttamisessa.

Tee yksi asia kerrallaan

Tämän pitäisi olla sanomattakin selvää, mutta – valitettavasti – se on opetus, jonka monet meistä joutuvat oppimaan uudestaan ​​ja uudestaan.

Tee yksi asia. Testaa sitten. Tee sitten toinen asia. Testaa se.

Jos teet useita asioita kerralla ja jokin epäonnistuu, et tiedä mikä direktiivi aiheuttaa ongelman.

Varmuuskopioi tiedosto ennen jokaista toimintoa

Kun teet vain yhden asian kerrallaan, sinun tulisi tallentaa tiedosto jokaisen yrittämäsi asian väliin. Tallennetun arkiston on oltava palautettavissa. Tämä ei ole Microsoft Word, jossa voit vain kumota – tarvitset tallennetun kopion tiedostostasi.

Sinulla tulisi aina olla saatavilla viimeisin työversio, jos sekoitat jotain. Aina, aina, aina on kyky palauttaa toimivaan versioon.

Tämä on helpointa, jos käytät jonkinlaista lähteenhallintajärjestelmää, kuten git. Voit sitoutua jokaisen muutoksen jälkeen ja kääntyä takaisin, jos joudut ongelmiin.

Tarkista virhelokit

Jos joudut ongelmaan ja sinulla on vaikea selvittää miksi, tarkista Apache-virhelokit. Ne tarjoavat usein arvokasta tietoa siitä, mistä etsiä.

Käytä kehittäjäfoorumeita saadaksesi apua

Kehittäjäfoorumit ja Q&StackOverflow-kaltaiset sivustot ovat korvaamattomia työkaluja jopa kokeneimmille kehittäjille ja sysadminille. Ja älä unohda Googlea. Usein ero huonon web-isännän ja suuren välillä ei tiedä vastausta, vaan tietää, mistä löytää vastaus.

Yleiset .htaccess-ongelmat

Joskus teit kirjoitusvirheen. Joskus sinulla on esoteerinen ja hämmentävä ongelma, jonka aiheuttaa ennakoimattomien tekijöiden yhtymäkohta.

Useimmat ja todella turhauttavat ongelmat ovat keskellä – yksinkertaisia, jokapäiväisiä ongelmia, jotka on helppo korjata, jos tiesit niistä..

Tässä on muutama niistä.

Virheellinen tiedostonimi

.Htaccess on vain yksi tapa tavuttaa – sen on alkava pisteellä ja sen on oltava pienillä kirjaimilla.

Vaikuttaa tyhmältä, mutta jos .htaccess-tiedostosi ei tee niin kuin odotat, sen pitäisi olla ensimmäinen asia, jonka tarkistat.

.htaccess poistettu käytöstä tai osittain poistettu käytöstä

Jotkut jaetut palveluntarjoajat poistavat .htaccess käytöstä kokonaan. Toiset sallivat sen, mutta rajoittavat tiettyjen direktiivien käyttöä – niitä vain sivuutetaan, jos ne sisällytetään direktiiviin.

Samoin, jopa VPS-suunnitelmissa tai omilla erillisillä palvelimilla .htaccess saattaa olla poistettu käytöstä.

Jos sinulla on pääsy httpd.conf-tiedostoon tai muihin palvelimen asetuksiin, voit tarkistaa tämän itse. Jos löydät direktiivin AllowOverride None, löysit syyllisen. Korvaa se AllowOverride All -sovelluksella.

Jos sinulla ei ole pääsyä httpd.conf-tiedostoihisi (koska olet esimerkiksi jaetussa isännöinnissä), sinun on ehkä otettava yhteyttä hosting-yrityksen tekniseen tukeen ja selvitettävä, voiko tämä ottaa sen käyttöön sinulle tai tarjota sinulle ehdotuksia onnistuu suorittamaan se, mitä yrität tehdä eri tavalla.

Ristiriitaiset tai ohitetut direktiivit

Jos sinulla on useita sisäkkäisiä hakemistoja, jokaisella voi olla oma .htaccess-tiedosto. Jokainen .htaccess-tiedosto juuresta, jokaisen sisäkkäisen hakemiston läpi, on voimassa – ne luetaan järjestyksessä hakemistopuun alapuolella..

Jos määrität jotain juurihakemistoon ja sitten jokin alihakemistossa ohittaa sen, pyydettyä tiedostoa lähinnä olevan .htaccess-tiedoston direktiivi on etusijalla.

Katso myös mod-rewrite-huijauskortti!

.htaccess Usein kysytyt kysymykset

  • Mikä on .htaccess-tiedosto SEO-sivustossa?

    .Htaccess-tiedostoa voidaan käyttää SEO liittyvien tehtävien, kuten uudelleenohjauksien, suorittamiseen. Uudelleenohjauksia voidaan käyttää välttämään 404 -virheilmoitusta ja antaa hakukoneindeksoijille tietää, mitkä sivut heidän pitäisi indeksoida. Voit myös asettaa HTTP-otsikot sivun latausnopeuden parantamiseksi, mikä voi parantaa hakukoneesi sijoitusta.

    Lisäksi voit käyttää .htaccess-sovellusta johdonmukaisen peruutusviivakäytännön luomiseen. Tämä yhdessä www- ja HTTPS-sääntöjen kanssa voi auttaa välttämään päällekkäisen sisällön tuottamista, josta Google voi rangaista.

  • Kuinka luoda .htaccess-tiedosto WordPressiin?

    Luo .htaccess-tiedosto WordPressissä käyttämällä tätä koodia:

    # ALOITA WordPress

    RewriteEngine päällä
    RewriteBase /
    RewriteRule ^ hakemisto \ .php $ – [L]
    RewriteCond% {REQUEST_FILENAME}! -F
    RewriteCond% {REQUEST_FILENAME}! -D
    RewriteRule. / index.php [L]

    # END WordPress

    Huomaa, että kun asennat WordPress, .htaccess-tiedosto luodaan automaattisesti. Virheellinen laajennus voi kuitenkin vioittaa .htaccess-tiedoston, jolloin tiedosto on luotava uudelleen.

  • Miksi en näe .htaccess-tiedostoani?

    Jos et näe .htaccess-tiedostoasi, se on, koska sitä ei ole olemassa tai se on piilotettu. Pakota FTP-asiakkaasi näyttämään nämä tiedostot sinun on muutettava asiakasasetuksesi (ts. FileZillassa siirry kohtaan server > Pakota piilotettujen tiedostojen näyttäminen). Jos olet tehnyt tämän muutoksen etkä vieläkään näe .htaccess-sovellusta, sinun on luotava se uudelleen.

  • Kuinka monta .htaccess-tiedostoa minulla pitäisi olla?

    Useimmat verkkosivustot tarvitsevat vain yhden .htaccess-tiedoston. Tämä johtuu siitä, että .htaccess-tiedostojen avulla voit tehdä palvelimen kokoonpanomuutoksia hakemistokohtaisesti. Jotkut ylläpitäjät voivat kuitenkin käyttää useampaa kuin yhtä tiedostoa sivustoa kohdentaessaan monisivustoja tai monimutkaisia ​​sovelluksia lisätoimintojen suorittamiseksi.

  • Missä on .htaccess cPanelissa?

    Kirjaudu sisään cPanel-tiliisi nähdäksesi .htaccess-tiedoston. Siirry sitten Tiedostot > Tiedostonhallinta. Kun sinua pyydetään valitsemaan hakemisto, valitse Web Root ja varmista, että Näytä piilotetut tiedostot on valittu. Sinun pitäisi nyt voida katsella .htaccess-tiedostoasi cPanelissa.

  • Kuinka .htaccess-tiedostoa käytetään CodeIgniterissä?

    .Htaccess-tiedostoa voidaan käyttää yhdessä CodeIgniter-sovelluksen kanssa hakukoneystävällisten URL-osoitteiden luomiseen. CodeIgniter-URL-osoitteet sisältävät oletuksena index.php-tiedoston. Käyttämällä .htaccess voit poistaa kyseisen index.php-oletus tiedoston niin, että sitä ei näy kaikissa sovelluksesi URL-osoitteissa.

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