Перейти до вмісту

Конвертер htaccess у Nginx

Перетворіть правила Apache .htaccess у еквівалентну конфігурацію Nginx.

Введення
Вихід

Конвертер htaccess у Nginx

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

Опції дозволяють включати або вимикати кожне сімейство правил незалежно. RewriteRule та RewriteCond стають директивами rewrite з блоком if для попередньої (єдиної) умови, узгодженими зі звичайними прапорцями, такими як R=301, L, NC, F та G. Redirect та RedirectMatch стають блоками location, що повертають правильний код статусу. ErrorDocument стає error_page, директиви Header стають add_header, а ExpiresDefault/ExpiresByType стають директивами expires на location, що відповідає розширенню файлу. Управління доступом (Order, Deny/Allow, Require) стає allow/deny, а повний блок AuthType Basic стає auth_basic плюс auth_basic_user_file. Ви також можете обернути весь результат у блок server або блок location, готовий до вставлення у конфіг Nginx.

Apache та Nginx не відображаються один на одного один до одного — кілька конструкцій (множинні умови RewriteCond з І, прапорець OR, власні коди перенаправлення, Header unset, правила Expires для кожного типу MIME без відповідного розширення) не мають прямого еквівалента Nginx. Коли конвертер зустрічає одну з цих конструкцій, він залишає оригінальний рядок на місці як коментар з попередженням замість вгадування, тому нічого не втрачається мовчазно і нічого не стає мовчазно неправильним; вимкніть попередження після перевірки, якщо хочете чистий файл.

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

FAQ

Чи створює це повну конфігурацію Nginx, готову до використання?
Він створює еквівалентні директиви, але Nginx та Apache не відображаються один до одного — завжди перевіряйте результат, особливо все, що помічено коментарем з попередженням, перед розгортанням.
Що трапляється з правилами, які не мають прямого еквівалента Nginx?
Вони залишаються у результаті як коментар, який пояснює, що потрібна ручна перевірка, замість того щоб бути мовчазно відкинутими або неправильно перетворені. Вимкніть «Показувати попередження», щоб цілком їх пропустити.
Чи може вона перетворити ланцюжки RewriteRule з кількома умовами?
Одна директива RewriteCond над RewriteRule перетворюється у блок if. Кілька умов з І або прапорець OR не мають чистого еквівалента Nginx і замість цього помічаються як попередження.
Чи справляється вона з базовою аутентифікацією?
Так — повний блок AuthType Basic / AuthName / AuthUserFile / Require valid-user перетворюється у auth_basic та auth_basic_user_file. AuthType Digest не має еквівалента Nginx і помічається.
Мій файл .htaccess завантажується куди-небудь?
Ні. Перетворення працює повністю у вашому браузері — ваша конфігурація, включаючи будь-які шляхи та правила доступу, які вона розкриває, ніколи не залишає ваш пристрій.