mod_rewrite je modul webového serveru Apache, který umí za běhu přepisovat (přesměrovávat) adresy URL podle pravidel, která si sami nastavíte v souboru .htaccess. Na hostingu BEST-HOSTING je mod_rewrite standardně povolený, takže ho můžete použít bez dalšího nastavování na naší straně.

K čemu se mod_rewrite používá

Nejčastěji se mod_rewrite využívá pro:

  • přesměrování návštěvníků na novou adresu, když se stránka přesune jinam,
  • zjednodušení dlouhých a nepřehledných adres, aby se daly snáz zapamatovat a sdílet,
  • tvorbu tzv. SEO friendly URL – čitelných adres bez parametrů (např. /produkt/123 místo /index.php?id=123), které vyhledávače i uživatelé vnímají lépe,
  • skrytí přípony souboru nebo použité technologie (např. .php) v adrese.

Ukázka jednoduchého pravidla v .htaccess

Následující ukázka přesměruje všechny požadavky na soubor index.php a zajistí, že chybějící stránky vrátí chybu 404:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
ErrorDocument 404 /404.php

Na co si dát pozor

Špatně nastavené pravidlo v .htaccess dokáže celý web "shodit" – stránka se pak nemusí načíst vůbec, nebo se přesměrování zacyklí a prohlížeč hlásí chybu příliš mnoha přesměrování. Po každé úpravě proto pravidla vždy otestujte.

Pokud běží váš web v režimu fcgid, nelze v .htaccess používat direktivy php_value a php_flag – jejich použití může stránku rozbít. Nastavení PHP v tomto režimu řešte jinou cestou, například přes soubor .user.ini.

Časté otázky

Je nutné mít mod_rewrite speciálně povolený?

Ne, na hostingu BEST-HOSTING je modul mod_rewrite povolený u všech tarifů automaticky.

Souvisí mod_rewrite se SEO?

Ano nepřímo – čisté a srozumitelné URL adresy patří mezi doporučené postupy pro optimalizaci webu pro vyhledávače (SEO). Řada redakčních systémů (např. WordPress) mod_rewrite navíc využívá automaticky pro tzv. pěkné trvalé odkazy – více v článku Jak spolu souvisí CMS a SEO?

Podrobnou syntaxi a všechny direktivy najdete v oficiální dokumentaci Apache mod_rewrite.

Phone
+420 491 618 519 Technická podpora
+420 491 618 517 Objednávky, fakturace
Email
podpora@best-hosting.cz Technická podpora
ucetni@best-hosting.cz Fakturační oddělení