Powrót do narzędzi

Generator .htaccess

Włączaj potrzebne bloki reguł — przekierowania, HTTPS, strony błędów, ochronę hasłem, wzmocnienie bezpieczeństwa, cache — i złóż je w jeden uporządkowany plik .htaccess. Każde pole renderuje się jako zwykły tekst, więc nic, co tu wpiszesz, nigdy się nie wykonuje.

Przekierowania

Przekierowania URL 301 / 302

Wyślij starą ścieżkę na nową. Działa przed front-controller catch-all, więc routing aplikacji PHP nigdy tego nie połknie.


Schemat i host

Wymuszanie HTTPS i kanonizacja www

Strona powinna odpowiadać dokładnie na jednym schemacie i jednym hoście. Wszystko inne powinno tam przekierowywać.

www ⇄ bez www

Błędy

Niestandardowe strony błędów

Serwuj własną stronę zamiast domyślnej strony Apache, gdy żądanie zwraca 404, jest zabronione, lub serwer się zadławi.

Kontrola dostępu

Chroń katalog hasłem

Basic Auth przez sam Apache — okno logowania przed folderem, bez udziału kodu aplikacji.

Hardening

Wzmocnienie bezpieczeństwa

Małe dyrektywy, które zamykają typowe, realnie wykorzystywane błędy konfiguracji.

Wydajność

Kompresja i cache przeglądarki

Dwie niezależne korzyści: mniejsze odpowiedzi w transferze i powracający odwiedzający całkowicie pomijający żądanie.

Przepustowość

Ochrona przed hotlinkowaniem

Powstrzymaj inne strony przed bezpośrednim osadzaniem twoich obrazów i marnowaniem twojej przepustowości, sprawdzając nagłówek Referer.

Aplikacje PHP

Przepisywanie front controller

Kieruje każde żądanie, które nie jest prawdziwym plikiem ani folderem, do jednego pliku PHP, aby własny router aplikacji zdecydował, co z nim zrobić.

Złożony plik

.htaccess

Reguły przepisywania działają od góry do dołu w jednym bloku silnika, w tej kolejności:

  1. Wymuś HTTPS

Złożony .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

Masz nginx? .htaccess nic nie robi.

To mechanizm dostępny tylko w Apache, a nawet w Apache jest często wyłączony (AllowOverride None), bo sprawdzanie go przy każdym żądaniu jest wolne. Nginx potrzebuje zamiast tego odpowiednich reguł zapisanych bezpośrednio w bloku server. Przekonwertuj to na konfigurację Nginx

Prowadzisz własny serwer gier?

Serwery gier Wespner z ochroną DDoS, dyskami NVMe i aktywacją w kilka minut.

Zobacz hosting