Terug naar tools

.htaccess Generator

Schakel de regelblokken in die je nodig hebt — doorverwijzingen, HTTPS, foutpagina's, wachtwoordbeveiliging, beveiliging aanscherpen, caching — en stel ze samen tot één geordend .htaccess-bestand. Elk veld wordt als platte tekst weergegeven, zodat niets wat je hier typt ooit wordt uitgevoerd.

Doorverwijzingen

301 / 302 URL-doorverwijzingen

Stuur een oud pad naar een nieuw pad. Loopt vóór de front-controller catch-all, zodat PHP-app-routing deze nooit opslokt.


Schema & host

HTTPS forceren & www-canonicalisatie

Een site moet op precies één schema en één host antwoorden. Al het andere moet daarnaartoe doorverwijzen.

www ⇄ non-www

Fouten

Aangepaste foutpagina's

Toon je eigen pagina in plaats van Apache's standaardpagina bij een 404, een verboden verzoek, of als de server vastloopt.

Toegangscontrole

Map met wachtwoord beveiligen

Basic Auth via Apache zelf — een inlogprompt vóór een map, zonder betrokkenheid van applicatiecode.

Beveiliging

Beveiliging aanscherpen

Kleine directives die veelvoorkomende, daadwerkelijk misbruikte configuratiefouten dichten.

Prestaties

Compressie & browsercaching

Twee onafhankelijke winsten: kleinere responses over de lijn, en terugkerende bezoekers die het verzoek helemaal overslaan.

Bandbreedte

Hotlink-bescherming

Voorkom dat andere sites je afbeeldingen rechtstreeks insluiten en je bandbreedte opgebruiken, door de Referer-header te controleren.

PHP-apps

Front-controller rewrite

Stuurt elk verzoek dat geen echt bestand of echte map is naar één PHP-bestand, zodat de eigen router van de app bepaalt wat ermee gebeurt.

Samengesteld bestand

.htaccess

Rewrite-regels lopen van boven naar beneden binnen één engine-blok, in deze volgorde:

  1. HTTPS forceren

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

Draai je op nginx? .htaccess doet niets.

Het is een mechanisme dat alleen bij Apache hoort, en zelfs op Apache staat het vaak uit (AllowOverride None) omdat controleren bij elk verzoek traag is. Nginx heeft de gelijkwaardige regels rechtstreeks in een server block nodig. Zet dit om naar een Nginx-config

Beheer je een eigen gameserver?

Wespner-gameservers met DDoS-bescherming, NVMe-schijven en activering binnen enkele minuten.

Bekijk hosting