Назад до інструментів

Генератор .htaccess

Увімкніть потрібні блоки правил — редиректи, HTTPS, сторінки помилок, захист паролем, посилення безпеки, кешування — і складіть їх в один упорядкований файл .htaccess. Кожне поле відображається як звичайний текст, тож ніщо з введеного тут ніколи не виконується.

Редиректи

Редиректи URL 301 / 302

Надішліть старий шлях на новий. Виконується перед універсальним перехоплювачем, тож маршрутизація PHP-застосунку ніколи не поглинає ці правила.


Схема й хост

Примусовий HTTPS і канонізація www

Сайт має відповідати рівно на одній схемі й одному хості. Усе інше має перенаправлятися туди.

www ⇄ без www

Помилки

Власні сторінки помилок

Показуйте власну сторінку замість типової сторінки Apache, коли запит повертає 404, заборонений або сервер дає збій.

Контроль доступу

Захистити каталог паролем

Basic Auth силами самого Apache — запит на вхід перед папкою, без участі коду застосунку.

Посилення захисту

Посилення безпеки

Невеликі директиви, що закривають поширені, реально використовувані зловмисниками неправильні конфігурації.

Продуктивність

Стиснення й кешування в браузері

Дві незалежні переваги: менші відповіді по мережі й повторні відвідувачі, що взагалі пропускають запит.

Пропускна здатність

Захист від хотлінкінгу

Заборонити іншим сайтам вбудовувати ваші зображення напряму й витрачати вашу пропускну здатність, перевіряючи заголовок Referer.

Застосунки PHP

Переписування на front-controller

Спрямовує кожен запит, що не є реальним файлом чи папкою, до одного файлу PHP, щоб власний роутер застосунку вирішував, що з ним робити.

Складений файл

.htaccess

Правила переписування виконуються згори вниз в одному блоці rewrite, у такому порядку:

  1. Примусовий HTTPS

Складений .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

Використовуєте nginx? .htaccess нічого не робить.

Це механізм лише для Apache, і навіть на Apache його часто вимикають (AllowOverride None), бо перевірка на кожен запит повільна. Nginx потребує еквівалентних правил, записаних безпосередньо в серверний блок. Перетворити це на конфігурацію Nginx

Керуєте власним ігровим сервером?

Ігрові сервери Wespner із захистом від DDoS, дисками NVMe та активацією за кілька хвилин.

Переглянути хостинг