mod_rewrite kasutamine lihtsam

Jaanus Putting
Jaga:

mod_rewrite logoLugu siis järgmine, et nüüdsest saab meie serverites mod_rewrite’t lihtsamalt kasutada 🙂

Täpsemalt öeldes: nüüdsest saab .htaccess failidesse lisada Rewrite* reeglistikke ja need töötavad momentaalselt, ilma et neid peaks sisestama DataZone haldusliidese kaudu. Enne andis server sellise tegevuse peale Error 500 (Internal Server Error), milles olev eesti keelne tekst palus klienti minna DataZone haldusliidesesse ning sisestada .htaccessis olevad keelatud direktiivid sealtkaudu.

Selle piirangu põhjus seisnes selles, et Apache .htaccess failides on võimalik kasutada igasuguseid direktiive, mille (vääriti) kasutamine võib mõjuda halvasti serveri tervisele. Paraku seda, milliseid direktiive konkreetselt .htaccess failist kasutada tohib, Apache enda vahenditega reguleerida ei saa.

Kes arvab, et selleks sobib AllowOverride, siis tollega saab muuta korraga vaid terve suure portsu direktiivide lubamist/keelamist .htaccess failis. See ei sobi, kui tahta keelata vaid ühte konkreetset “ohtlikku” direktiivi või lausa sellele antavat parameetrit.

Sisestades direktiivid läbi DataZone teostab nende kontrolli DataZone haldusliides skripti tasandil. Selle negatiivne pool seisneb aga selles, et muudatused ei jõua serverisse momentaalselt vaid mõne minutilise hilinemisega.

Kuna sealt sisestatud direktiivid pannakse otse domeeni <virtualhost ip></virtualhost> märgendite vahele (virtualhost context), siis et .htaccess failiga analoogset käitumist saavutada, tuleb osad direktiivid sisestada veel eraldi <directory kataloog></directory> märgendite vahele (directory context), mis paljudele kasutajatele on esmakordne ja tundmatu ning tekitab palju probleeme.


Üha suurema nõudluse tõttu just mod_rewrite järgi täiendasime Apache2 lähtekoodi, mis nüüdsest võimaldab meil täpselt kontrollida, mis nimega/parameetritega direktiive .htaccess faili sisestada saab ning mis on keelatud. Keelatud direktiivi või selle parameetri kohta antakse kliendi error_log-i täpne teade koos reanumbriga, kus ta .htaccess failis esineb. Järgnevalt ka kokkuvõte kõigist direktiividest, mida .htaccess-is kasutada saab:

  1. Direktiivid, mis Apache dokumentatsiooni kohaselt nõuavad AuthConfig, Indexes või Limit õigust.
  2. Options – lubatud on kõik parameetrid peale All ja ExecCGI. Juhul kui parameetris sisaldub FollowSymLinks, siis muudetakse see vaikides ümber SymLinksIfOwnermatch-iks.
  3. SetHandler/AddHandler – lubatud on parameetrid default-handler ja none
  4. ForceType/AddType/DefaultType – kõik parameetrid on lubatud aga kui parameetriks on application/x-httpd-php, siis seda rida ignoreeritakse, kuna PHP interpretaatori liitmist faililaienditega tuleb teha DataZonest eraldi valiku alt Konfiguratsioon selle teostamiseks sõltub PHP rezhiimist!
  5. RewriteRule – lubatud on kõik parameetrid peale Proxy kasutamise kolmandas parameetris
  6. Kõik järgmised direktiivid sõltumata parameetritest:
    1. RewriteCond
    2. RewriteBase
    3. RewriteEngine
    4. AcceptPathInfo
    5. ErrorDocument
    6. Addlanguage
    7. AddCharset
    8. AddDefaultCharset
    9. AddEncoding
    10. DefaultLanguage
    11. RemoveCharset
    12. RemoveEncoding
    13. RemoveLanguage
    14. LanguagePriority
    15. RemoveType
    16. RemoveHandler
    17. Redirect
    18. RedirectMatch
    19. RedirectTemp
    20. RedirectPermanent

Kommentaarid

Populaarsed postitused

Partner soovitab: milliseid makseviise kassas pakkuda?

Montonio
E-kaubanduse maailm on teinud suure hüppe edasi ajast, mil maksevõimalused piirdusid sularaha ja keeruliste pangaülekannetega. Tänapäeval võib makseprotsess...

Veebimajutus algajatele: Zone teenustega saad kodulehe valmis kiiresti ja turvaliselt

Nikita
Oma kodulehe loomine võib tunduda keeruline, eriti kui sul puudub varasem kokkupuude serverite, domeenide või veebidisainiga. Zone – Eesti juhtivaid...

Partner soovitab: Kuidas kirjutada tõhusaid e-kirju ehk juhend meiliturundusega alustajale

Smaily
Meiliturundus annab tiheda konkurentsiga ärimaailmas võimaluse teistest eristuda ja oma kliente kaasata. Kui oled selles valdkonnas alles alustamas,...

Kas Google kaob ehk kuidas AI-optimeerida oma kodulehte ChatGPT-ajastul

Triin
Me peame taas rääkima tehisintellektist. Täpsemalt AI-st kui otsingumootorist ja sellest, kuidas see mõjutab sinu ettevõtet. Kuigi ligi 90% ettevõtetest...