Apache's mod_rewrite giver en kraftig metode til at manipulere URL'er på serversiden, konvertere dem til ren og brugervenlig formater. Denne guide fører dig gennem forståelsen af mod_rewrite, dens fordele og hvordan du konfigurerer det på en VPS med Apache.
Baggrund
Når en URL indtastes, gennemsynes den mod et sæt prædefinerede regler. Disse regler identificerer specifikke mønstre eller nøgleord i URL'en. Hvis et designet nøgleord er detekteret og reglen passer, udløser det erstattelsen af den identificerede del med en forudbestemt streng – hvilket genererer en ny URL.
mod_rewrite viser sig værdifuldt, da det giver brugere mulighed for at transformere URL'er til ren og brugervenlig formater. Dette er især gavnligt for slutbrugere uden teknisk viden, da de forenkrede URL'er nemt forstårbar og søgemaskinevenlige.
For at illustrere begrebet af en ren URL, overvej følgende eksempler:
- URL1:
http://modrewriteexample.com/client.php?id=A786#234QA - URL2:
http://modrewriteexample.com/client/=A786#234QA/ - URL3:
http://modrewriteexample.com/client/Martha/
Blandt disse tre URL'er fremhæver den tredje sigifikant mere læsbar og forståelig for slutbrugeren. URL 3 kvalificerer sig som en ren URL i denne sammenhæng.
Forudsætninger
Før du fortsætter, sørg for SSH-adgang til din VPS.
Sådan Sætter du op mod_rewrite
-
Trin 1: Installer Apache
I denne demonstration på Ubuntu 18.04, brug det indbyggede pakkeinstalleringsprogram, apt-get. Begynd med at opdatere det:
sudo apt-get updateSå fortsæt med installationen af Apache2:
sudo apt-get install apache2 -
Trin 2: Aktivér mod_rewrite
Aktivér mod_rewrite med følgende kommando:
sudo a2enmod rewriteDenne kommando aktiverer omskrivningsmode, eller informerer dig hvis den allerede er i brug. Derefter genstart Apache:
sudo service apache2 restart -
Trin 3: Opret .htaccess-filen
For at etablere prædefinerede URL-omskrivningsregler, brug
.htaccess-filen. Brugere kan manuelt skrive regler i denne fil. Da serveren refererer til denne fil, kan eventuelle fejl resultere i en serversidefejl..htaccess-filen bør oprettes i roden for at teste omskrivningsfunktionaliteten.Begynd med at køre følgende kommando:
sudo nano /var/www/html/.htaccessDenne kommando opretter
.htaccess-filen, hvis den ikke findes, eller åbner den, hvis den allerede eksisterer. Gem og afslut i nano ved at trykkeCTRL+Ofor at gemme ogCTRL+Xfor at afslutte.Næste trin er at åbne
000-default.conf-filen placeret i mappen/etc/apache2/sites-enabled/:sudo nano /etc/apache2/sites-enabled/000-default.confI denne fil indsæt følgende blok efter strengen
:Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all Gem filen på samme måde som
.htaccess. Genstart Apache, som nævnt i trin to, for at ændringerne træder i kraft. -
Trin 4: Opret en URL-omskrivningsregel
URL-omskrivning indebærer valg af en ren URL og transformation til faktiske stier, der fører til kode. Det består af følgende komponenter:
- En prædefineret omskrivningsregel
- Et mønster som fungerer som matchingsreference med den indtastede URL
- Omskrivningslinjer, der angiver stien, der skal kaldes af serveren på det punkt
Lad os oprette en omskrivningsregel til at viderestille brugeren til
About_us.html-siden, hvis den anmodede URL er https://internetport.se. For succesfuld udførelse skal omskrivningsmotoren være aktiveret. Åbn.htaccess-filen og tilføj følgende syntaks:RewriteEngine on RewriteRule ^About_us$ About_us.html [NC]Opdeling af syntaksen:
About_user mønstret, der viderestilles tilAbout_us.html, når det matcherNCer en flag for ikke-forskel på store og små bogstaver^indikerer matchning umiddelbart efter IP-adressen
Tillykke! Du har nu oprettet en mod_rewrite-regel!
Afslutning
Læsbar, ren og brugervenlig URL'er er kritisk for en succesfuld hjemmeside. Indkludering af nøgleord i URL'er er essentielt til hukommelse og SEO. Med mod_rewrite kan du oprette mange omskrivningsregler for at forbedre din hjemmesides URL-struktur.