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ć.
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:
- 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.
Prowadzisz własny serwer gier?
Serwery gier Wespner z ochroną DDoS, dyskami NVMe i aktywacją w kilka minut.