htaccess a mod rewrite (1)

Napsal O webu (») 21. 4. 2006 v kategorii Banan.cz, přečteno: 6484×

O tom co je htaccess popř. jak použít htaccess pro omezení přístupu pojednávají již jiné články. V tomto chci pouze poukázat na některé skutečnosti ve kterých se buď často chybuje, popř. nemusí být na první pohled zřejmé. Jednou z takových věcí může být použití regulárních výrazů u mod rewrite. Regulární výrazy jsme si popsali i vzhledem k použití u htaccess dostatečně v tomto článku popř. v jeho pokračování.


Pokud už se rozhodnete použít mod rewrite z jakéhokoliv důvodu (třeba i jen proto, že už prostě v apach serveru je), tak je třeba si uvědomit pár zásadních maličkostí:


  • Chybně vytvořený soubor .htaccess může vést k znepřístupnění Vašeho webu.
  • Chybný .htaccess může díky cyklování znepříjemnit život celému serveru.
  • Použití .htaccess je v rukou znalého nebezpečná zbraň

Soubor .htaccess umístěný v určitém adresáři na serveru dovoluje upravit i chování adresáře stejnými instrukcemi, které se normálně píšou do httpd.conf. Ovlivněny jsou veškeré podadresáře, pokud v nich není opět jiný .htaccess soubor. Mnohé možná napadne, proč je soubor .htaccess s tečkou na začátku. Je to vlastně poměrně chytrá finta, protože to ve skutečnosti žádný normální soubor není (Windows to chápou jen jako příponu :)). Takto se na systémech založených na Unixu označují soubory, které mají být pro uživatele skryté, popř. nepřístupné. Pokud tedy administrátor serveru zakazuje výpis skrytých souborů, tak i když jej na server přes FTP nahrajete, tak jej patrně neuvidíte, i když tam ve skutečnosti bude. Vychytávkou o které se v tomto článku dočtete je mod_rewrite. Pokud chcete vědět něco více o .htaccess jako takovém, doporučuji Apache Tutorial: .htaccess files.

 

 

mode rewrite

úkolem tohoto modulu je manipulace s URL (přepisování). To se může dít na základě jisté podmínky. O tom ale později. V praxi to pak znamená, že to co dané podmínce vyhoví (pokud je uvedena) je pomocí dalšího pravidla založeného nejčastěji na regulárních výrazech přepsáno na něco jiného. Je to velice podobné modu alias, jen s malým rozdílem, že pomocí rewrite lze řešit mnohem složitější situace, například pro přehledné URL. K tomu, aby mod rewrite fungoval je potřeba jej zapnout, takže v každém .htaccess souboru, kde jej budete používat je třeba mít tento řádek.
RewriteEngine on což způsobí iniciaci tohoto modulu.

 

U každého pravidla se navíc může vyskytnou podmínka (RewiteCond), kdy se má dané pravidlo provést. Takže nejen že upřesníte s jakými soubory, ale například i za jakých dalších podmínek. Pravidlo je pak zapsáno v další části.


Jak tey rewrite pravidlo, neboli rule vypadá obecně? Vlice jednoduše:
RewiteCond TestovacíŘetězec VzorPodmínky

RewriteRule Vzor Substituce DalšíPříznaky

Jak to funguje v praxi:
.



Příště se podíváme na to co jsou to ty příznaky a na nějaké příklady.


Štítky: mod rewrite
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Jan Novotný z IP 83.208.7.*** | 21.3.2007 10:19
Dobrý den,

na svém webu právě zavádím nový redakční systém Textpattern a zajímá mě problematika použivání hezkých URL. Má někdo zkušenosti s tímto systémem na hostingu banan.cz? Když zapinám ty hezké URL tak to obččas funguje, občas ne, diagnostika hlasí Test hezkých url selhal. Pomůžete mi někdo spravně nakonfigurovat tento redakční systém? Děkuji,
banan.czMgr.Radovan Kaluža | 21.3.2007 18:10
napište konkrétní problém
Dimas z IP 83.208.7.*** | 22.3.2007 16:46
Už se vše vyřešilo, děkuji za tak rychlou reakci! Banan.cz je opravdu suprový hosting! smajl
chorche z IP 213.155.225.*** | 23.3.2007 22:00
no zkousel sem to taky, ale pokud mam tp v podadresari s prilozenym souborem .htaccess, tak mi to taky nefunguje... s .htaccess mi tusim ani nenajeli stranky, kdyz sem ho vyhodil, tak se chytnula uvodni stranka, ale nikoliv dalsi odkazy...
Dimas z IP 85.70.69.*** | 2.4.2007 10:12
Napiš mi podrobně problém na mail, já ti pomůžu! Na banan.cz vše funguje fajn (až na ty vypadky databáze) smajl
d4nix z IP 212.47.11.*** | 24.5.2007 16:01
je sice krasne ze jse to vyresili, ale tohle forum je tu i pro ostatni, mohlo vas treba napadnout ze by se podobna chyba objevila i nekomu dalsimu, treba me. A myslim ze by bylo naprosto vhodne uvest jak jste to vyresili, od toho takovehle weby jsou.
Roman z IP 82.100.18.*** | 15.6.2006 10:01
Když jsou stránky psány v ASP (a jsou umisteny na serveru s Windows), funguje na
nich normalne htaccess? Mam takove podezreni, ze ne... Jakou doporucujete jinou
variantu pro preadresovani v ASP?
banan.czMgr.Radovan Kaluža | 15.6.2006 10:17
banan.cz ASP neposkytuje, prosím založte si diskuzi v jiné kategorii
Roman z IP 82.100.18.*** | 15.6.2006 13:55
A tady komunikují jen klienti bananu.cz? Myslel jsem, ze je to server nejen o internetu, webu a ekomrci (PRO VŠECHNY).
banan.czMgr.Radovan Kaluža | 15.6.2006 14:12
žlutá fóra jsou jen pro klient www.banan.cz
Roman z IP 82.100.18.*** | 15.6.2006 15:44
Dobře, omlouvám se, kde založím f=orum v jiné barvě?
banan.czMgr.Radovan Kaluža | 15.6.2006 20:07
klikneš vpravo na požadovanou kategorii, třeba obecné a tam založíš fórum


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel jedenáct a deset