Att använda Apaches mod_rewrite är lite knepigt, men vi hjälper dig igenom det

Apache-webbservern är en av de viktigaste byggstenarna på Internet, som betjänar webbplatser och applikationer. Det är ett komplext system med många alternativ och ett av de mest viktig är Rewrite-modulen, eller ”mod_rewrite” för kort. I den här artikeln ska vi ta en titt på användningsområdena för mod_rewrite, och sedan utforska hur du ställer in den på din egen Apache-baserade webbplats.

Syftet med Apache Rewrite Module

Syftet med denna modul är att skriva om webbadresser på olika användbara sätt. Detta innebär att när användare kommer till din webbplats via en webbadress (antingen genom att skriva in den eller välja en länk som innehåller den), kommer de att ”hamna” på en annan webbadress. Det finns flera anledningar till att du kanske vill göra detta.

Omdirigera användare

Du kan använda mod_rewrite t o dirigera användare från äldre, inaktuella sidor som fortfarande kan visas i sökresultaten till nyare, uppdaterade sidor. Anta till exempel att du har en sida på https://www.mysite.com/review2015; om någon stöter på detta som en länk och väljer det kan du använda en omskrivningsregel för att dirigera dem till http://www.mysite.com/review2019.

Lättare att komma ihåg webbadresser

Du har förmodligen sett länkar relaterade till e-handel med webbadresser som https://www.thestore.net/3d78654954c29ace998658. Utvecklare använder etiketter som denna för att se till att objekt har en unik identifierare, men för icke-tekniker är det svårt att komma ihåg.

Lyckligtvis kan en omskrivningsregel hjälpa dig att publicera en trevlig URL, som https://www.thestore.net/notebooks /spiral/3-subject-spiral/, som, när den följs, leder en besökare till den med den fula URL:en.

Unika sidnamn

I början av webben var det vanligt att se det faktiska namnet på sidfiler när du besökte en webbplats . Till exempel kan sidan ”Om oss” på en webbplats vara ”http://www.someguys.org/about.html.”

Men det finns ett par anledningar till att du inte ser dessa så mycket längre. Den första är att många webbplatser drivs av innehållshanteringssystem, som bara har en handfull faktiska sidfiler. Resten av innehållet läggs till dynamiskt när sidan visas, så alla sidor kan se ut som om de har samma URL, som ”http://www.someguys.org/index.php.” Omskrivning av webbadresser gör att du kan se ut som dessa separata sidor, samtidigt som du använder ett dynamiskt CMS för att hantera din webbplats.

Mer förståeliga webbadresser

Sökmotorer rankar sidor högre när de har lättbegripliga webbadresser. Detta innebär att det är fördelaktigt för webbplatser att ha en webbadress som ”https://www.thecompany.com/services/consulting” istället för ”https://www.thecompany.com/index.php?section=services&page=consulting,” eftersom den sista delen ser mer ut som kod än en URL.

Omskrivning ser till att du alltid sätter ditt bästa ansikte fram, ur URL-perspektivet.

Hur man ställer in mod_rewrite på din webbplats

Att använda URL-omskrivning på Apache kräver två huvudkomponenter:

  • Aktivera den faktiska omskrivningsmodulen inom Apache

  • Listar de nödvändiga omskrivningsreglerna i en .htaccess-fil.

  • Medan användningarna för URL-omskrivning gäller lika för andra webbservrar som IIS eller nginx, kommer mod_rewrite och metoderna nedan endast att gälla för Apache.

    Aktivera omskrivningsfunktionen i Apache

      Först måste du aktivera omskrivningsfunktionen i din Apache-installation.

    1. Du måste hitta var din Apaches konfigurationsfil finns. Detta beror på vilket installationsprogram du använde.

    2. I Windows bör du leta efter en katalog som heter ”/conf” under Apache-installationskatalogen.
      • På macOS populära XAMPP-installationsprogram finns det i /Applications/XAMPP/xamppfiles/apache2/conf.

        • På Linux skulle det dyka upp i katalogen /etc/apache2. I vilket fall som helst letar du efter en fil som heter ”httpd.conf”, ”http.conf” eller ”apache2.conf”, så du kan också använda sökfunktionen i ditt operativsystem för att leta efter dessa.

      • Öppna konfigurationsfilen i en textredigerare, som Windows Anteckningar eller TextEdit på macOS.

      • Leta efter raden ”#LoadModule rewrite_module modules/mod_rewrite.so,” och ta bort hashtaggen i början. Detta betecknar en kommentar, vilket betyder att när den är där, kommer Apache-servern att ignorera allt på den raden. Ta bort hashtaggen och nästa gång kommer Apache att köra den raden när den startar.

      • Spara konfigurationsfilen och starta om Apache-servern.


      • Alternativt, på vissa versioner av Linux kommer du att se några kataloger som ”/etc/apache2/mods-available” och ”/etc/ apache2/mods-enabled.” Dessa innehåller bitar av konfigurationsfiler som sätts ihop dynamiskt. I det här fallet kan du köra följande kommandon för att först aktivera omskrivningsmodulen och sedan starta om Apache-servern:

         sudo a2enmod rewrite


        systemctl starta om apache2

  • Nu är din Apache-server redo att skriva om URL:er för dig. Först nu behöver du berätta vilka som ska skrivas om och under vilka omständigheter.

  • Definiera Mod_Rewrite-regler på din Webbplats

    1. Du måste definiera reglerna för mod_rewrite med hjälp av det reguljära uttrycksspråket. Lyckligtvis finns det hjälp att få. För en given omskrivning du vill aktivera kan du använda ett verktyg som VisioSparks regelgenerator.

      Ange webbadressen du vill skriva om från, dvs den som en användare ska ange, i Från:

    2. fält.

    3. Ange webbadressen du vill skriva om till, dvs den där användaren kommer att hamna, i Till:

      fält.

  • Välj Captcha-kontrollen och välj sedan . Generatorn ska sedan ge ett resultat som börjar med ”RewriteRule.

    Om du råkar hitta en annan generator dessa steg kan vara något annorlunda, men förhoppningsvis i samma bollplank.

    Går in i Mod_Rewrite Regler för din webbplats

    Så det här är bra, en poäng- och klicka på sättet att skapa dessa regler. Men var placerar du dem?

    För att använda regler på en webbplats måste du måste skapa en fil som heter ”.htaccess” i roten på webbplatsen. Det är lite plattformsberoende var filerna för en viss webbplats lagras, men du måste ha listat ut det för att distribuera din webbplats där i första hand.

  • Det kan redan finnas en fil med det namnet. I så fall bra! Du kan helt enkelt lägga till dina rader i den filen.

       Skapa en ny textfil med namnet ".htaccess

      " i din webbplats rot.

    1.  På den första raden anger du koden nedan.  Detta talar om för servern att du vill aktivera omskrivning för den aktuella webbplatsen.  

       RewriteEngine på


    2.  Lägg sedan till var och en av raderna du skapade med generatorn.  Början av vår fil skulle se ut så här: 

       RewriteEngine på


      RewriteRule ^anteckningsböcker/spiral/3-ämnen -spiral/$ /3d78654954c29ace998658?&%{QUERY_STRING}

  • Som med alla Apache-konfigurationsändringar , är det en bra idé att starta om servern.

  • Att använda Mod_Rewrite tar tid, men resultaten är värda det

    Att använda mod_rewrite-funktionen på Apache kräver definitivt en ansträngning . Du måste fiffla med textbaserade konfigurationsfiler, komma på ett sätt att få in väldigt knäppa reguljära uttryck i dessa filer och veta hur man manuellt stoppar och startar om tjänsten. Det kommer troligen att krävas mycket försök och fel innan du får något som inte resulterar i ett fel och som beter sig korrekt.

    Som sagt, när du väl får kläm på det kommer du att få stor nytta av mod_rewrite. Dina besökare kommer bättre att kunna komma ihåg dina webbadresser, och din rankning på Google kommer sannolikt att förbättras e. De resulterande "snygga webbadresserna" är trots allt inte bara för visning. De är också funktionella.

  • Lämna ett svar

    Relaterade Inlägg