Torna agli strumenti

Generatore .htaccess

Attiva i blocchi di regole di cui hai bisogno — redirect, HTTPS, pagine di errore, protezione con password, hardening di sicurezza, caching — e componili in un unico file .htaccess ordinato. Ogni campo viene renderizzato come testo semplice, quindi niente di ciò che digiti qui viene mai eseguito.

Redirect

Redirect URL 301 / 302

Manda un vecchio percorso verso uno nuovo. Viene eseguito prima del front-controller catch-all, così il routing dell'app PHP non li assorbe mai.


Schema e host

Forza HTTPS e canonicalizzazione www

Un sito dovrebbe rispondere esattamente su uno schema e un host. Tutto il resto dovrebbe reindirizzare lì.

www ⇄ non-www

Errori

Pagine di errore personalizzate

Servi la tua pagina invece di quella predefinita di Apache quando una richiesta dà 404, è proibita, o il server si blocca.

Controllo accessi

Proteggi una directory con password

Basic Auth tramite Apache stesso — un prompt di login davanti a una cartella, senza coinvolgere codice applicativo.

Hardening

Hardening di sicurezza

Piccole direttive che chiudono configurazioni errate comuni e realmente sfruttate.

Prestazioni

Compressione e caching del browser

Due vantaggi indipendenti: risposte più piccole sulla rete, e i visitatori di ritorno che saltano del tutto la richiesta.

Banda

Protezione hotlink

Impedisci ad altri siti di incorporare direttamente le tue immagini e consumare la tua banda, controllando l'header Referer.

App PHP

Rewrite front-controller

Instrada ogni richiesta che non è un file o una cartella reale verso un unico file PHP, così è il router dell'app stessa a decidere cosa farne.

File composto

.htaccess

Le regole di rewrite vengono eseguite dall'alto verso il basso all'interno di un unico blocco engine, in questo ordine:

  1. Forza HTTPS

.htaccess composto

# .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

Su nginx? .htaccess non fa nulla.

È un meccanismo esclusivo di Apache, e anche su Apache è comunemente disabilitato (AllowOverride None) perché controllarlo a ogni richiesta è lento. Nginx ha bisogno che le regole equivalenti siano scritte direttamente in un server block. Converti queste in una config Nginx

Gestisci un tuo server di gioco?

Server di gioco Wespner con protezione DDoS, dischi NVMe e attivazione in pochi minuti.

Scopri l'hosting