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
(parametrtitle
obsahuje slovodívka
) - na
http://www.example.com/index.php?title=d%25C3%25ADvka
(parametrtitle
obsahuje ř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
Komentáře
Jakub Hampl #1
Tenhle článek by v angličtině nebyl zdaleka tak vtipnej ;)
vedouci #2
já brečím 😁
vedouci #3
navíc perfektně načasované – zrovna nedávno se někdo chlubil, že mod_rewrite dokonale ovládá 🙂
v6ak #4
#1 Jakube Hample, Ale v esperantu by to šlo (fraŭlineto, ne) :D
kukulich #5
By mne zajímalo, do které patřím skupiny, když příznak NE používám.
www-crewmanek-tvorba #6
moje dívka k indiánům nesmí, takže jsem to zatím nemusel řešit 🙂
Vojtěch Vrbka #7
Perfektní!
Příště už řeknu NE :D
AAA #8
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/?…
LLook #9
#4 v6aku, 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ě…
Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.