Hur man ställer in Mod_Rewrite

click fraud protection

De Apache webbserver är en av de viktigaste byggstenarna på Internet, som serverar webbplatser och applikationer. Det är ett komplext system med många alternativ, och en av de viktigaste är Rewrite Module, eller "mod_rewrite" för kort. I den här artikeln tar vi en titt på användningsområdena för mod_rewrite och undersöker sedan hur du får den inställd 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 URL (antingen genom att skriva in den eller välja en länk som innehåller den) kommer de att "hamna" på en annan URL. Det finns ett antal anledningar till att du kanske vill göra detta.

Omdirigera användare

Du kan använda mod_rewrite för att dirigera användare från äldre, föråldrade 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 rikta dem till http://www.mysite.com/review2019.

instagram viewer

Lättare att komma ihåg webbadresser

Du har antagligen 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-tekniska typer ä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 följs leder en besökare till den med den fula webbadressen.

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 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 webbadress, som " http://www.someguys.org/index.php." URL-omskrivning låter dig se ut som dessa separata sidor, medan du fortfarande 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ättförståeliga webbadresser. Det betyder att det är bra för webbplatser att ha en webbadress som " https://www.thecompany.com/services/consulting" istället för " https://www.thecompany.com/index.php? avsnitt = tjänster & sida = rådgivning, "eftersom den sista delen ser mer ut som kod än en URL.

Omskrivning ser till att du alltid lägger ditt bästa ansikte framåt ur URL-perspektivet.

Så här ställer du in mod_rewrite på din webbplats

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

  • Aktivera den faktiska omskrivningsmodulen i Apache
  • Lista de nödvändiga omskrivningsreglerna i en .htaccess-fil.

Medan användningen av 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 omskrivningsfunktion i Apache

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

  1. Du måste hitta var din Apache-konfigurationsfil finns. Detta beror på installationsprogrammet du använde.

    • På 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 visas det 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.
  2. Öppna konfigurationsfilen i en textredigerare, som Windows anteckningsblock eller Textredigera på macOS.

  3. 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 kör Apache den raden när den startar.

  4. Spara konfigurationsfilen och starta om Apache-servern.

  5. Alternativt ser du på vissa versioner av Linux några kataloger som "/ etc / apache2 / mods-available" och "/ etc / apache2 / mods-enabled." Dessa innehåller bitar av konfigurationsfiler som är sammanställda 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 skriva om
    systemctl starta om apache2
  6. Nu är din Apache-server redo att skriva om webbadresser åt dig. Först nu måste du berätta för dem vilka du ska skriva om och under vilka omständigheter.

Definiera Mod_Rewrite-regler på din webbplats

Du måste definiera reglerna för mod_rewrite med hjälp av språket för reguljära uttryck. Lyckligtvis finns det lite hjälp tillgänglig. För en viss omskrivning som du vill aktivera kan du använda ett verktyg som VisioSparks regelgenerator.

  1. Ange webbadressen du vill skriva om från, dvs. den som en användare kommer att ange, i Från: fält.

  2. Ange webbadressen du vill skriva om till, dvs. den där användaren hamnar, i Till: fält.

    GUI-omskrivningsregelgeneratorer kan spara dig för att lära dig RegEx
  3. 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 kan dessa steg vara lite annorlunda, men förhoppningsvis i samma bollpark.

Ange regler för Mod_Rewrite för din webbplats

Så det här är bra, ett peka-och-klicka-sätt att göra dessa regler. Men var lägger du dem?

För att använda regler på en webbplats måste du skapa en fil som heter ".htaccess" i roten på webbplatsen. Det är något plattformsberoende där filerna för en viss webbplats lagras, men du måste ha tänkt på det för att först distribuera din webbplats där.

Det kan redan finnas en fil med det namnet. Om så är fallet, bra! Du kan helt enkelt lägga till dina rader i den filen.

  1. Skapa en ny textfil med namnet ".htaccess"i din webbplats rot.

  2. Ange nedanstående kod på första raden. Detta berättar för servern du vill aktivera omskrivning för den aktuella webbplatsen.

    RewriteEngine on
  3. 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 on
    RewriteRule ^ notebooks / spiral / 3-subject-spiral / $ / 3d78654954c29ace998658? &% {QUERY_STRING}
  4. 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 tar definitivt en ansträngning. Du måste lura med textbaserade konfigurationsfiler, ta reda på ett sätt att få mycket finjämna reguljära uttryck i dessa filer och veta hur man manuellt stoppar och startar om tjänsten. Det kommer sannolikt att kräva mycket försök och fel innan du får något som inte resulterar i ett fel och beter sig korrekt.

Med det sagt, när du väl har fattat det får du stor nytta av mod_rewrite. Dina besökare kommer bättre att kunna komma ihåg dina webbadresser och din ranking på Google kommer sannolikt att förbättras. De resulterande "vackra webbadresserna" är trots allt inte bara för show. De är också funktionella.

instagram story viewer