Zpět na nástroje

Generátor .htaccess

Zapněte bloky pravidel, které potřebujete — přesměrování, HTTPS, chybové stránky, ochranu heslem, zabezpečení, cache — a sestavte je do jednoho seřazeného souboru .htaccess. Každé pole se vykresluje jako čistý text, takže nic, co sem napíšete, se nikdy nespustí.

Přesměrování

Přesměrování URL 301 / 302

Přesměrujte starou cestu na novou. Spouští se před zachytávacím front-controllerem, takže směrování PHP aplikace tato pravidla nikdy nepohltí.


Schéma a host

Vynucení HTTPS a kanonizace www

Web by měl odpovídat právě na jednom schématu a jednom hostu. Všechno ostatní by se tam mělo přesměrovat.

www ⇄ non-www

Chyby

Vlastní chybové stránky

Zobrazte vlastní stránku místo výchozí stránky Apache, když požadavek skončí chybou 404, je zakázán, nebo server zkolabuje.

Řízení přístupu

Ochrana adresáře heslem

Basic Auth přímo přes Apache — přihlašovací okno před složkou, bez jakéhokoli kódu aplikace.

Zabezpečení

Zpevnění zabezpečení

Malé direktivy, které uzavřou běžné, reálně zneužívané chyby v konfiguraci.

Výkon

Komprese a cache prohlížeče

Dva nezávislé přínosy: menší odpovědi po síti a vracející se návštěvníci, kteří požadavek úplně přeskočí.

Přenos dat

Ochrana proti hotlinkování

Zabraňte tomu, aby jiné weby vkládaly vaše obrázky přímo a spotřebovávaly vaši přenosovou kapacitu, kontrolou hlavičky Referer.

PHP aplikace

Přepis na front-controller

Nasměruje každý požadavek, který není skutečným souborem ani složkou, na jeden PHP soubor, takže o něm rozhodne vlastní router aplikace.

Sestavený soubor

.htaccess

Pravidla přepisu se spouštějí shora dolů uvnitř jednoho bloku enginu, v tomto pořadí:

  1. Vynutit HTTPS

Sestavený .htaccess

# .htaccess — composed with Wespner's .htaccess Generator
# Review before deploying: https://wespner.eu/tools

<IfModule mod_rewrite.c>
    RewriteEngine On

    # Force HTTPS
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

# Custom error pages
ErrorDocument 404 /errors/404.html

# Block access to dotfiles (.git, .env, .htpasswd, ...)
<IfModule mod_authz_core.c>
    <FilesMatch "^\.">
        Require all denied
    </FilesMatch>
</IfModule>

# Disable directory listing
Options -Indexes

# Disable the Apache version banner on error pages
ServerSignature Off

Na nginx? .htaccess nedělá nic.

Jde o mechanismus výhradně pro Apache, a i na Apache bývá běžně vypnutý (AllowOverride None), protože kontrola při každém požadavku je pomalá. Nginx potřebuje ekvivalentní pravidla zapsaná přímo do bloku serveru. Převést na konfiguraci Nginx

Provozuješ vlastní herní server?

Herní servery Wespner s DDoS ochranou, NVMe disky a aktivací do pár minut.

Prohlédnout hosting