Na našem hostingu běží weby na Nginxu, ne na Apache. To má jednu důležitou praktickou věc: nefungují soubory .htaccess (a jakékoliv změny v nich WordPress ani pluginy u nás „neprosadí“).
Níže vysvětlujeme, proč je to tak, co to znamená v praxi a jak stejné věci řešit správně na Nginxu.
Co to znamená pro web a proč .htaccess nefunguje
.htaccess je mechanismus Apache: umožňuje nastavovat přesměrování, hlavičky, blokace, cache pravidla atd. přímo v adresářích webu, bez úprav globální konfigurace serveru.
Nginx tohle z principu nemá. Konfigurace se načítá centrálně (typicky na úrovni vhostu / server bloku) a .htaccess se vůbec neparsuje – takže:
- pravidla v
.htaccessse ignorují - plugin, který „píše do
.htaccess“, u nás nic nezmění - pokud web spoléhá na
.htaccesskvůli přesměrování nebo ochraně, je potřeba to nastavit jinak
Proč používáme Nginx: výkon, škálovatelnost, stabilita
1) Výkon (rychlost a nižší režie)
Nginx je navržený jako event-driven server – umí velmi efektivně obsloužit velké množství současných požadavků s nízkou spotřebou paměti. V praxi to znamená:
- rychlejší obsluha statických souborů (obrázky, CSS, JS)
- menší zatížení serveru při špičkách
- lepší latence a stabilnější odezvy
2) Škálovatelnost
U WordPressu se typicky řeší nárazové špičky, boti, feedy, API endpointy, agresivní crawlery a podobně. Nginx je na tohle velmi vhodný, protože:
- zvládá vysokou míru souběžných požadavků bez „rozpadu“ procesu
- dobře se kombinuje s cache vrstvami a reverzní proxy architekturou
- je ideální pro moderní hostingové stacky, kde jsou jednotlivé části oddělené (web server vs PHP runtime)
3) Bezpečnost a kontrola konfigurace
Cokoliv, co umožňuje měnit chování serveru „zevnitř webu“ (jako .htaccess), je zároveň potenciální riziko a zdroj nečekaných problémů:
- plugin nebo šablona může přidat nevhodná pravidla
- špatné pravidlo může výrazně zhoršit výkon i doručitelnost obsahu
- při napadení webu je
.htaccessčasto cílem (přesměrování, cloaking, blokace administrace atd.)
Na Nginxu držíme klíčová pravidla centrálně a konzistentně, což je pro hosting s důrazem na výkon a bezpečnost zásadní výhoda.
Jak řešit věci, které se běžně dávají do .htaccess
Nejčastější případy a doporučená řešení:
- Přesměrování (301/302)
Použijte WordPress / SEO plugin (např. Redirection) nebo nechte přesměrování nastavit v našem Nginx nastavení (pokud má jít o globální nebo serverovou úroveň). - Zákazy přístupu / basic auth / blokace botů
Řeší se pomocí Nginx pravidel nebo bezpečnostního pluginu podle typu ochrany. - Hlavičky (HSTS, CSP, cache-control, CORS)
Patří do Nginx konfigurace, ne přímo do webu – mají být jednotné, konzistentní a bezpečné. - Cache pravidla a komprese
Opět Nginx (případně naše cache vrstva), nikoliv.htaccess.
Shrnutí
Používáme Nginx, protože je pro WordPress hosting typicky rychlejší, stabilnější a lépe škálovatelný. Nevýhodou je, že .htaccess u nás nefunguje, protože jde o technologii Apache.
Pokud narazíte na návod nebo plugin, který říká „přidejte do .htaccess…“, berte to jako signál, že je potřeba řešení provést Nginx způsobem. Pokud budete chtít, pošlete nám konkrétní .htaccess pravidla a rádi vám je přepíšeme do ekvivalentní konfigurace pro Nginx.