Apie šį įrankį
„Apache“ ir „Nginx“ yra du dominuojantys šiandien naudojami žiniatinklio serveriai, tačiau jie konfigūruojami skirtingai. Apache naudoja .htaccess failus, paskirstytus visame dokumentų medyje – kiekvienas katalogas gali nepaisyti savo ir savo vaikų elgesio. „Nginx“ naudoja vieną centralizuotą konfigūracijos failą be jokių katalogų nepaisymo. Norint perkelti iš Apache į Nginx, reikia išversti kiekvieną .htaccess direktyvą į lygiavertį Nginx vietos bloką, perrašymo taisyklę arba serverio direktyvą.
Dažniausiai pasitaikantys .htaccess naudojimo atvejai turi tiesioginius Nginx atitikmenis. URL perrašymas (RewriteRule) susieja su Nginx perrašymo direktyva. Peradresavimai (Redirect, RedirectMatch) tampa Nginx grąžinimo arba peradresavimo eilutėmis. Autentifikavimas (AuthType, AuthUserFile) susieja su Nginx auth_basic. CORS, tinkintos antraštės ir MIME tipo nepaisymai turi „Nginx“ atitikmenis.
Šis keitiklis analizuoja įprastas .htaccess direktyvas ir sukuria Nginx konfigūracijos sintaksę. Sudėtingus reguliaraus reiškinio perrašymus ir specifinių „Apache“ modulių direktyvas gali reikėti koreguoti rankiniu būdu, tačiau įprastais atvejais konvertuojama tiesiogiai. Išvestis skirta kaip atspirties taškas – atidžiai peržiūrėkite ją prieš diegdami, ypač jei tai susiję su saugumo direktyvomis.
Kodėl konvertuoti .htaccess į Nginx
„Apache“ perkėlimas į „Nginx“ yra vienas iš dažniausiai naudojamų žiniatinklio prieglobos pakeitimų. „Nginx“ paprastai naudoja mažiau atminties vienai užklausai, efektyviau tvarko tuo pačius ryšius ir greičiau aptarnauja statinį turtą. Kitu atveju perkėlimas yra nesudėtingas, išskyrus konfigūracijos vertimą, kuris yra keitiklio adresų kliūtis.
„Nginx“ ekvivalentiškos sintaksės skaitymas taip pat padeda „Apache“ administratoriams suprasti „Nginx“ idiomas. Dviejų konfigūracijų palyginimas leidžia suprasti, kaip kiekvienas serveris išreiškia tą patį ketinimą.
Techninės detalės
Apache RewriteRule su [L] vėliava tampa Nginx perrašyti ... paskutinis;. RewriteRule su [R=301] tampa 301 grąžinimu su perrašytu URL arba nuolatiniu perrašymu. Sąlygos (RewriteCond) Apache perrašymo variklyje tampa if blokais Nginx, su standartiniu įspėjimu, kad Nginx, jei teiginiai turi neįprastą semantiką vietos blokuose (naudokite jas atsargiai).
Apache katalogai ir FilesMatch skyriai susieti su Nginx vietos blokais. AuthType Basic ir AuthUserFile tampa auth_basic + auth_basic_user_file. Antraštės rinkinys arba AddHeader tampa Nginx add_header.
Kai kurios „Apache“ funkcijos neturi švaraus „Nginx“ atitikmens. „mod_rewrite“ „RewriteMap“ su duomenų bazės programa, sudėtingu aplinkos kintamųjų manipuliavimu ir tam tikriems „Apache“ autentifikavimo teikėjams gali reikalauti pasirinktinių „Nginx“ modulių arba išorinių scenarijų.
Dažnai užduodami klausimai
- Ar „Htaccess To Nginx“ galima nemokamai naudotis?
- Taip, visiškai nemokama, be paslėptų išlaidų, jokių prenumeratų ir jokių naudojimo apribojimų. Naudokite jį taip dažnai, kaip jums reikia.
- Ar man reikia susikurti paskyrą?
- Ne. Įrankis veikia nedelsiant – nereikia prisiregistruoti, nereikia el. pašto adreso ir asmeninės informacijos.
- Ar mano duomenys yra privatūs ir saugūs?
- Taip. Visas apdorojimas vyksta jūsų naršyklėje naudojant „JavaScript“. Jokie duomenys neįkeliami į jokį serverį. Jūsų įvestis ir išvestis lieka tik jūsų įrenginyje.
- Ar tai veikia mobiliuosiuose įrenginiuose?
- Taip. Įrankis visiškai reaguoja ir veikia išmaniuosiuose telefonuose, planšetiniuose ir staliniuose kompiuteriuose su bet kokia modernia žiniatinklio naršykle.
- Kaip tvarkyti „WordPress“ nuolatines nuorodas?
- „WordPress“ naudoja standartines perrašymo taisykles; keitiklis juos tvarko. Patikrinkite, ar gautos „Nginx“ vietos ir „try_files“ direktyvos atitinka „WordPress“ dokumentacijoje nurodytus „Nginx“.
- Ar mano .htaccess įkeltas į serverį?
- Ne. Konversija vykdoma jūsų naršyklėje.
- O kaip su RewriteCond?
- RewriteCond tampa if blokais Nginx, su įspėjimu dėl Nginx if semantikos. Sudėtingose sąlygų grandinėse restruktūrizavimas pagal žemėlapio direktyvas arba atskiras vietas dažnai yra švaresnis.
- Ar pritaikius naują konfigūraciją turiu iš naujo paleisti „Nginx“?
- Taip. Paleiskite nginx -s reload (arba systemctl reload nginx), kad pritaikytumėte konfigūracijos pakeitimus. Visada pirmiausia paleiskite nginx -t, kad prieš įkeliant iš naujo pastebėtumėte sintaksės klaidas.