Víte, komu ublížil mod_rewrite?
Schválně, který software má v dokumentaci uvedeno, že se jedná o voodoo? No jistě, jde o mod_rewrite. Ze zkušenosti mohu říci, že programátoři se dělí do dvou skupin:
- ti, kteří mod_rewrite nerozumí
- ti, kteří si myslí, že mod_rewrite rozumí, avšak mýlí se
Do které skupiny patříte vy? Zkuste nahlédnout do svých souborů
.htaccess a podívejte se, zda vám u pravidel pro
přesměrování (příznak
R) nechybí také příznak NE (noescape)?
Vysvětlím na příkladu: do kořenového adresáře webu
www.example.cz vložím soubor .htaccess s pravidlem
pro přesměrování:
RewriteEngine On RewriteRule .* http://www.example.com/$0 [R=301] #tohle je spatne!
Server pak přesměruje
- z
http://www.example.cz/index.php?title=d%C3%ADvka(parametrtitleobsahuje slovodívka) - na
http://www.example.com/index.php?title=d%25C3%25ADvka(parametrtitleobsahuje řetězecd%C3%ADvka)
Jak vidíte, mod_rewrite ublížil dívce! Je to jeho přirozené chování,
aby to nedělal, musíte mu říct NE:
RewriteEngine On RewriteRule .* http://www.example.com/$0 [R=301,NE] #tohle uz je spravne


#1 Jakub Hampl http://gampleman.eu nový
Tenhle článek by v angličtině nebyl zdaleka tak vtipnej ;)
#2 vedouci http://tomsik.cz nový
já brečím
#3 vedouci http://tomsik.cz nový
navíc perfektně načasované – zrovna nedávno se někdo chlubil, že mod_rewrite dokonale ovládá
#4 v6ak http://v6ak.profitux.cz/ nový
#1 Jakub Hampl: Ale v esperantu by to šlo (fraŭlineto, ne) :D
#5 kukulich nový
By mne zajímalo, do které patřím skupiny, když příznak NE používám.
#6 www-crewmanek-tvorba http://www.stargen.cz nový
moje dívka k indiánům nesmí, takže jsem to zatím nemusel řešit
#7 Vojtěch Vrbka http://vrbka.info nový
Perfektní!
Příště už řeknu NE :D
#8 AAA aaa@hotmail.com nový
Nejen z toho důvodu (složitost mod_rewrite) se jej snažím nepoužívat, tam kde to není nutné ( = klient si o to vyloženě neřekne).
IMHO není zas tak velký rozdíl mezi:
http://web.cz/clanek-o-nicem/
a
http://web.cz/?…
#9 LLook nový
#4 v6ak: Kiel vi vidas, mod_rewrito ofendis fraŭlineton! Tian estas ĝia natura konduta. Ke ĝi tion ne farus, vi devas ĝin diri NE.
Moc vtipný mi to ale nepřišlo ani v češtině…