Kako nastaviti Mod_Rewrite

click fraud protection

The Apač spletni strežnik je eden glavnih gradnikov interneta, ki služi spletnim mestom in aplikacijam. Gre za kompleksen sistem z veliko možnostmi, eden najpomembnejših pa je modul za prepis ali krajše "mod_rewrite". V tem članku si bomo ogledali uporabo mod_rewrite, nato pa raziskali, kako ga lahko nastavite na svojem spletnem mestu, ki temelji na Apache.

Namen modula za prepisovanje Apache

Namen tega modula je prepisovanje URL-jev na različne uporabne načine. To pomeni, da bodo uporabniki, ko pridejo na vaše spletno mesto prek enega URL-ja (bodisi da ga vnesejo ali izberejo povezavo, ki ga vsebuje), "končali" na drugem URL-ju. Obstaja več razlogov, zakaj bi to morda želeli storiti.

Preusmeritev uporabnikov

Mod_rewrite lahko uporabite za usmerjanje uporabnikov s starejših, zastarelih strani, ki se lahko še vedno prikažejo v rezultatih iskanja, na novejše, posodobljene strani. Denimo, da imate stran na naslovu https://www.mysite.com/review2015; če nekdo naleti na to kot povezavo in jo izbere, lahko uporabite pravilo za prepisovanje, na katero ga usmerite http://www.mysite.com/review2019.

instagram viewer

Lažje si zapomnite URL-je

Verjetno ste že videli povezave do e-trgovine z URL-ji, kot so https://www.thestore.net/3d78654954c29ace998658. Razvijalci s takšnimi oznakami zagotavljajo, da imajo predmeti enoličen identifikator, toda za netehnične vrste si je težko zapomniti.

Na srečo vam lahko pravilo o ponovnem pisanju pomaga objaviti lep URL, na primer https://www.thestore.net/notebooks/spiral/3-subject-spiral/, ki ob sledenju vodi obiskovalca do tistega z grdim URL-jem.

Edinstvena imena strani

V prvih dneh spleta je bilo ob obisku spletnega mesta običajno videti dejansko ime datotek strani. Na primer, stran »O nas« na spletnem mestu je » http://www.someguys.org/about.html."

Ampak obstaja nekaj razlogov, da tega ne vidite več. Prvi je ta, da mnoga spletna mesta vodijo sistemi za upravljanje vsebin, ki imajo le peščico dejanskih datotek strani. Preostali del vsebine se doda dinamično, ko je stran vročena, zato bodo vse strani morda videti, kot da imajo isti URL, na primer " http://www.someguys.org/index.php." Prepisovanje URL-jev vam omogoča, da so videti te ločene strani, hkrati pa za upravljanje spletnega mesta še vedno uporabljate dinamični sistem za upravljanje vsebin.

Več razumljivih URL-jev

Iskalniki uvrščajo strani višje, če imajo lahko razumljive URL-je. To pomeni, da je za spletna mesta koristno imeti URL, kot je " https://www.thecompany.com/services/consulting" namesto " https://www.thecompany.com/index.php? section = storitve & stran = svetovanje, "saj je zadnji del bolj podoben kodi kot URL-ju.

Ponovno pisanje poskrbi, da vedno postavljate najboljši obraz naprej, z vidika URL-ja.

Kako nastaviti mod_rewrite na svojem spletnem mestu

Uporaba prepisovanja URL-jev v Apache zahteva dve glavni komponenti:

  • Omogočanje dejanskega modula za prepisovanje znotraj Apache
  • Navedba potrebnih pravil prepisovanja v datoteko .htaccess.

Čeprav se uporaba za prepisovanje URL-jev enako nanaša na druge spletne strežnike, kot sta IIS ali nginx, mod_rewrite in spodnje metode veljajo samo za Apache.

Omogoči funkcijo prepisovanja v Apache

Najprej boste morali v namestitvi Apache vklopiti funkcijo prepisovanja.

  1. Poiskati boste morali, kje se nahaja konfiguracijska datoteka vašega Apacheja. To je odvisno od namestitvenega programa, ki ste ga uporabili.

    • V sistemu Windows poiščite imenik z imenom "/ conf" v namestitvenem imeniku Apache.
    • V priljubljenem namestitvenem programu XAMPP za macOS se nahaja v / Applications / XAMPP / xamppfiles / apache2 / conf.
    • V Linuxu bi se pojavil v imeniku / etc / apache2. V vsakem primeru iščete datoteko z imenom "httpd.conf", "http.conf" ali "apache2.conf", zato lahko za iskanje uporabite tudi funkcijo iskanja v vašem OS.
  2. Odprite konfiguracijsko datoteko v urejevalniku besedil, na primer Beležnica sistema Windows ali TextEdit na macOS.

  3. Poiščite vrstico "#LoadModule rewrite_module modules / mod_rewrite.so," in na začetku odstranite hashtag. To pomeni komentar, kar pomeni, da bo strežnik Apache, ko je tam, prezrl vse v tej vrstici. Odstranite hashtag in naslednjič bo Apache izvedel to vrstico, ko se zažene.

  4. Shranite konfiguracijsko datoteko in znova zaženite strežnik Apache.

  5. V nekaterih različicah Linuxa boste videli tudi nekaj imenikov, kot je "/ etc / apache2 / mods-available" in "/ etc / apache2 / mods-enabled." Vsebujejo koščke konfiguracijskih datotek, ki so sestavljene dinamično. V tem primeru lahko zaženete naslednje ukaze, da najprej omogočite modul za prepisovanje, nato pa znova zaženite strežnik Apache:

    sudo a2enmod prepiši
    systemctl znova zaženite apache2
  6. Zdaj je vaš strežnik Apache pripravljen, da za vas prepiše URL-je. Šele zdaj mu morate povedati, katere naj napišejo in v kakšnih okoliščinah.

Določanje pravil Mod_Rewrite na vašem spletnem mestu

Pravila za mod_rewrite boste morali določiti z uporabo jezika regularnih izrazov. Na srečo je na voljo nekaj pomoči. Za dano prepisovanje, ki ga želite omogočiti, lahko uporabite orodje, kot je generator pravil VisioSpark.

  1. V polje URL vnesite URL, s katerega želite prepisati, tj. Tistega, ki ga bo uporabnik vnesel Od: polje.

  2. V polje URL vnesite URL, na katerega želite prepisati, tj. Tistega, na katerem bo uporabnik končal Za: polje.

    GUI Rewrite Rule Generators vam lahko prihranijo napor učenja RegEx
  3. Izberite kontrolnik Captcha, nato izberite Pojdi. Generator mora nato zagotoviti rezultat, začenši z "RewriteRule.

    Če slučajno najdete drugega generatorja, so ti koraki morda nekoliko drugačni, vendar upajmo, da v istem igrišču.

Vnos pravil Mod_Rewrite za vaše spletno mesto

Torej, to je odličen način, s katerim lahko kliknete in kliknete za oblikovanje teh pravil. Kam pa jih postaviš?

Če želite uporabljati pravila na spletnem mestu, morate v korenu spletnega mesta ustvariti datoteko z imenom ".htaccess". Nekoliko je odvisno od platforme, kje se shranjujejo datoteke za določeno spletno mesto, vendar boste to morali ugotoviti, da boste svoje spletno mesto najprej namestili tam.

Datoteka s tem imenom morda že obstaja. Če je tako, super! V to datoteko lahko preprosto dodate vrstice.

  1. Ustvari novo besedilno datoteko z imenom ".htaccess"v korenu vašega spletnega mesta.

  2. V prvo vrstico vnesite spodnjo kodo. To pove strežniku, da želite omogočiti prepisovanje za trenutno spletno mesto.

    RewriteEngine vklopljen
  3. Nato dodajte vsako vrstico, ki ste jo ustvarili z generatorjem. Začetek naše datoteke bi bil videti takole:

    RewriteEngine vklopljen
    RewriteRule ^ zvezki / spirala / 3-subjekt-spirala / $ / 3d78654954c29ace998658? &% {QUERY_STRING}
  4. Kot pri vsaki spremembi konfiguracije Apache je dobro, da strežnik znova zaženete.

Uporaba Mod_Rewrite traja nekaj časa, vendar so rezultati vredni tega

Uporaba funkcije mod_rewrite v Apacheju zagotovo zahteva nekaj napora. Morate se poigrati z besedilnimi konfiguracijskimi datotekami, najti način, kako v te datoteke vnesti zelo izbirčne regularne izraze, in vedeti, kako ročno ustaviti in znova zagnati storitev. Verjetno bo potrebno veliko poskusov in napak, preden dobite nekaj, kar ne povzroči napake in se pravilno obnaša.

Ko boste to razumeli, boste imeli mod_rewrite veliko koristi. Obiskovalci si bodo lažje zapomnili vaše URL-je in vaša uvrstitev v Googlu se bo verjetno izboljšala. Nastali "lepi URL-ji" navsezadnje niso samo za razstavo. Tudi oni so funkcionalni.

instagram story viewer