Hvordan sette opp Mod_Rewrite

click fraud protection

De Apache webserver er en av de viktigste byggesteinene på Internett, og serverer nettsteder og applikasjoner. Det er et komplekst system med mange alternativer, og en av de viktigste er Rewrite Module, eller kort sagt "mod_rewrite". I denne artikkelen tar vi en titt på bruken for mod_rewrite, og deretter utforsker hvordan du får den konfigurert på ditt eget Apache-baserte nettsted.

Formålet med Apache Rewrite Module

Hensikten med denne modulen er å omskrive URL-er på forskjellige nyttige måter. Dette betyr at når brukere kommer til nettstedet ditt via en URL (enten ved å skrive den inn eller velge en lenke som inneholder den), vil de "havne" på en annen URL. Det er flere grunner til at du kanskje vil gjøre dette.

Omdirigere brukere

Du kan bruke mod_rewrite til å dirigere brukere fra eldre, utdaterte sider som fremdeles kan vises i søkeresultatene, til nyere, oppdaterte sider. Anta for eksempel at du har en side på https://www.mysite.com/review2015; hvis noen kommer over dette som en lenke og velger det, kan du bruke en omskrivningsregel for å lede dem til http://www.mysite.com/review2019.

instagram viewer

Enklere å huske nettadresser

Du har sannsynligvis sett lenker relatert til e-handel med nettadresser som https://www.thestore.net/3d78654954c29ace998658. Utviklere bruker etiketter som dette for å sikre at elementene har en unik identifikator, men for ikke-tekniske typer er det vanskelig å huske.

Heldigvis kan en omskrivningsregel hjelpe deg med å publisere en fin URL, som https://www.thestore.net/notebooks/spiral/3-subject-spiral/, som når den følges fører en besøkende til den med den stygge URL-en.

Unike sidenavn

I begynnelsen av nettet var det vanlig å se det faktiske navnet på sidefiler når du besøkte et nettsted. For eksempel kan siden "Om oss" på et nettsted være " http://www.someguys.org/about.html."

Men det er et par grunner til at du ikke ser disse mye lenger. Den første er at mange nettsteder drives av innholdsstyringssystemer, som bare har en håndfull faktiske sidefiler. Resten av innholdet legges til dynamisk når siden vises, slik at alle sider kan se ut som om de har samme nettadresse, som " http://www.someguys.org/index.php." URL-omskriving lar deg se ut på disse separate sidene, mens du fortsatt bruker et dynamisk CMS til å administrere nettstedet ditt.

Mer forståelige nettadresser

Søkemotorer rangerer sider høyere når de har lett forståelige nettadresser. Dette betyr at det er gunstig for nettsteder å ha en nettadresse som " https://www.thecompany.com/services/consulting" i stedet for " https://www.thecompany.com/index.php? seksjon = tjenester & side = rådgivning, "siden den siste delen ser mer ut som kode enn en URL.

Omskriving sørger for at du alltid legger ditt beste ansikt frem, fra URL-perspektivet.

Hvordan sette opp mod_rewrite på nettstedet ditt

Å bruke URL-omskriving på Apache krever to hovedkomponenter:

  • Aktiverer den faktiske omskrivingsmodulen i Apache
  • Oppføring av nødvendige omskrivingsregler i en .htaccess-fil.

Mens bruken av URL-omskriving gjelder likt for andre webservere som IIS eller nginx, vil mod_rewrite og metodene nedenfor bare gjelde Apache.

Aktiver omskrivningsfunksjon i Apache

Først må du slå omskrivingsfunksjonen på i Apache-installasjonen.

  1. Du må finne ut hvor Apache-konfigurasjonsfilen ligger. Dette vil avhenge av installasjonsprogrammet du brukte.

    • På Windows bør du se etter en katalog som heter "/ conf" under Apache-installasjonskatalogen.
    • På macOS populære XAMPP-installasjonsprogram ligger den i / Applications / XAMPP / xamppfiles / apache2 / conf.
    • På Linux vises det i / etc / apache2-katalogen. I alle fall leter du etter en fil som heter "httpd.conf", "http.conf" eller "apache2.conf", så du kan også bruke søkefunksjonen i operativsystemet til å lete etter disse.
  2. Åpne konfigurasjonsfilen i et tekstredigeringsprogram, som Windows Notisblokk eller TextEdit på macOS.

  3. Se etter linjen "#LoadModule rewrite_module modules / mod_rewrite.so," og fjern hashtag i begynnelsen. Dette betegner en kommentar, noe som betyr at når den er der, vil Apache-serveren ignorere alt på den linjen. Fjern hashtaggen, og neste gang kjører Apache den linjen når den starter.

  4. Lagre konfigurasjonsfilen og start Apache-serveren på nytt.

  5. Alternativt ser du på noen versjoner av Linux noen kataloger som "/ etc / apache2 / mods-available" og "/ etc / apache2 / mods-enabled." Disse inneholder biter av konfigurasjonsfiler som er satt sammen dynamisk. I dette tilfellet kan du kjøre følgende kommandoer for å først aktivere omskrivingsmodulen, og deretter starte Apache-serveren på nytt:

    sudo a2enmod omskrive
    systemctl start apache2 på nytt
  6. Nå er Apache-serveren klar til å omskrive nettadresser for deg. Bare nå trenger du å fortelle det hvilke du skal skrive om, og under hvilke omstendigheter.

Definere regler for Mod_Rewrite på nettstedet ditt

Du må definere reglene for mod_rewrite ved å bruke språket for vanlig uttrykk. Heldigvis er det litt hjelp tilgjengelig. For en gitt omskriving du vil aktivere, kan du bruke et verktøy som VisioSparks regelgenerator.

  1. Skriv inn URL-en du vil skrive om fra, dvs. den som en bruker vil oppgi, i Fra: felt.

  2. Skriv inn URL-en du vil skrive om til, dvs. den der brukeren vil havne, i Til: felt.

    GUI Rewrite Rule Generators kan spare deg for å lære RegEx
  3. Velg Captcha-kontrollen, og velg deretter . Generatoren skal da gi et resultat som starter med "RewriteRule.

    Hvis du tilfeldigvis finner en annen generator, kan disse trinnene være litt forskjellige, men forhåpentligvis i samme ballpark.

Angi regler for Mod_Rewrite for nettstedet ditt

Så dette er flott, en pek-og-klikk-måte å lage disse reglene på. Men hvor legger du dem?

For å bruke regler på et nettsted, må du opprette en fil som heter ".htaccess" i roten til nettstedet. Det er litt plattformavhengig hvor filene for et bestemt nettsted er lagret, men du må ha funnet ut det for å distribuere nettstedet ditt der i utgangspunktet.

Det kan allerede være en fil med det navnet. I så fall flott! Du kan ganske enkelt legge til linjene dine i den filen.

  1. Lag en ny tekstfil med navnet ".htaccess"i nettstedets rot.

  2. Skriv inn koden nedenfor på første linje. Dette forteller serveren du vil aktivere omskriving for det nåværende nettstedet.

    RewriteEngine på
  3. Deretter legger du til hver av linjene du opprettet med generatoren. Starten av filen vår vil se slik ut:

    RewriteEngine på
    RewriteRule ^ notatbøker / spiral / 3-emne-spiral / $ / 3d78654954c29ace998658? &% {QUERY_STRING}
  4. Som med alle Apache-konfigurasjonsendringer, er det en god ide å starte serveren på nytt.

Bruke Mod_Rewrite tar tid, men resultatene er det verdt

Å bruke mod_rewrite-funksjonen på Apache tar absolutt litt innsats. Du må fikle med tekstbaserte konfigurasjonsfiler, finne ut en måte å få veldig fin vanlige uttrykk til disse filene, og vite hvordan du manuelt stopper og starter tjenesten på nytt. Det vil sannsynligvis kreve mye prøving og feiling før du får noe som ikke resulterer i en feil og oppfører seg riktig.

Når det er sagt, når du først har fått tak i det, vil du få stor fordel av mod_rewrite. De besøkende vil bedre kunne huske nettadressene dine, og rangeringen din på Google vil sannsynligvis bli bedre. De resulterende "pene URLene" er tross alt ikke bare for visning. De er også funksjonelle.

instagram story viewer