Det Apache webserver er en af de vigtigste byggesten på Internettet, der betjener websteder og applikationer. Det er et komplekst system med mange muligheder, og en af de vigtigste er Rewrite Module, eller kort sagt "mod_rewrite". I denne artikel vil vi se på anvendelserne til mod_rewrite og derefter undersøge, hvordan du får det konfigureret på dit eget Apache-baserede sted.
Formålet med Apache-omskrivningsmodulet
Formålet med dette modul er at omskrive URL'er på forskellige nyttige måder. Dette betyder, at når brugere ankommer til dit websted via en URL (enten ved at indtaste det eller vælge et link, der indeholder det), vil de "ende" på en anden URL. Der er en række grunde til, at du måske vil gøre dette.
Omdirigere brugere
Du kan bruge mod_rewrite til at dirigere brugere fra ældre, forældede sider, der muligvis stadig vises i søgeresultaterne, til nyere, opdaterede sider. Antag for eksempel, at du har en side på https://www.mysite.com/review2015; hvis nogen støder på dette som et link og vælger det, kan du bruge en omskrivningsregel til at henvise dem til http://www.mysite.com/review2019.
Lettere at huske webadresser
Du har sandsynligvis set links relateret til e-handel med webadresser som https://www.thestore.net/3d78654954c29ace998658. Udviklere bruger etiketter som denne for at sikre, at genstande har en unik identifikator, men for ikke-teknologiske typer er det svært at huske.
Heldigvis kan en omskrivningsregel hjælpe dig med at offentliggøre en dejlig URL, som f.eks https://www.thestore.net/notebooks/spiral/3-subject-spiral/, som efterfølgende fører en besøgende til den med den grimme URL.
Unikke sidenavne
I begyndelsen af Internettet var det almindeligt at se det faktiske navn på sidefiler, da du besøgte et websted. F.eks. Kan siden "Om os" på et websted være " http://www.someguys.org/about.html."
Men der er et par grunde til, at du ikke ser disse meget mere. Den første er, at mange websteder drives af indholdsstyringssystemer, som kun har en håndfuld faktiske sidefiler. Resten af indholdet tilføjes dynamisk, når siden vises, så alle sider kan se ud som om de har den samme URL, som " http://www.someguys.org/index.php." URL-omskrivning giver dig mulighed for at se disse separate sider ud, mens du stadig bruger et dynamisk CMS til at administrere dit websted.
Flere forståelige webadresser
Søgemaskiner rangerer sider højere, når de har letforståelige webadresser. Dette betyder, at det er nyttigt for websteder at have en URL som " https://www.thecompany.com/services/consulting" i stedet for " https://www.thecompany.com/index.php? afsnit = tjenester & side = rådgivning, "da den sidste del ligner mere kode end en URL.
Omskrivning sikrer, at du altid sætter dit bedste ansigt frem fra URL-perspektivet.
Sådan konfigureres mod_rewrite på dit websted
Brug af URL-omskrivning på Apache kræver to hovedkomponenter:
- Aktivering af det faktiske omskrivningsmodul i Apache
- Notering af de nødvendige omskrivningsregler i en .htaccess-fil.
Mens anvendelsen af URL-omskrivning gælder ligeledes for andre webservere som IIS eller nginx, gælder mod_rewrite og nedenstående metoder kun for Apache.
Aktivér omskrivningsfunktion i Apache
Først skal du slå omskrivningsfunktionen til i din Apache-installation.
-
Du bliver nødt til at finde, hvor din Apache-konfigurationsfil er placeret. Dette afhænger af det installationsprogram, du brugte.
- På Windows skal du kigge efter et bibliotek med navnet "/ conf" under Apache-installationsmappen.
- På macOSs populære XAMPP-installationsprogram er det placeret i / Applications / XAMPP / xamppfiles / apache2 / conf.
- På Linux vises det i mappen / etc / apache2. Under alle omstændigheder leder du efter en fil kaldet "httpd.conf", "http.conf" eller "apache2.conf", så du kan også bruge søgefunktionen i dit operativsystem til at se efter disse.
Åbn konfigurationsfilen i en teksteditor, ligesom Windows notesblok eller TextEdit på macOS.
Se efter linjen "#LoadModule rewrite_module modules / mod_rewrite.so", og fjern hashtag i begyndelsen. Dette betegner en kommentar, hvilket betyder, at når den er der, vil Apache-serveren ignorere alt på den linje. Fjern hashtag, og næste gang udfører Apache den linje, når den starter.
Gem konfigurationsfilen, og genstart Apache-serveren.
-
Alternativt kan du på nogle versioner af Linux se nogle mapper som "/ etc / apache2 / mods-available" og "/ etc / apache2 / mods-enabled." Disse indeholder bits af konfigurationsfiler, der er sammensat dynamisk. I dette tilfælde kan du køre følgende kommandoer for først at aktivere omskrivningsmodulet og derefter genstarte Apache-serveren:
sudo a2enmod omskrive
systemctl genstart apache2 Nu er din Apache-server klar til at omskrive webadresser til dig. Først nu har du brug for at fortælle det, hvilke der skal omskrives, og under hvilke omstændigheder.
Definition af Mod_Rewrite-regler på dit websted
Du bliver nødt til at definere reglerne for mod_rewrite ved hjælp af sprog for regulært udtryk. Heldigvis er der noget hjælp til rådighed. For en given omskrivning, du vil aktivere, kan du bruge et værktøj som VisioSparks regelgenerator.
Indtast den URL, du vil omskrive fra, dvs. den, som en bruger vil indtaste, i Fra: Mark.
-
Indtast den URL, du vil omskrive til, dvs. den, hvor brugeren ender, i Til: Mark.
-
Vælg Captcha-kontrollen, og vælg derefter Gå. Generatoren skal derefter give et resultat startende med "RewriteRule.
Hvis du tilfældigvis finder en anden generator, kan disse trin være lidt forskellige, men forhåbentlig i samme ballpark.
Indtastning af Mod_Rewrite-regler for dit websted
Så dette er fantastisk, en peg-og-klik-måde at lave disse regler på. Men hvor placerer du dem?
For at bruge regler på et websted skal du oprette en fil kaldet ".htaccess" i roden af hjemmesiden. Det er noget platformafhængigt, hvor filerne til et bestemt websted er gemt, men du bliver nødt til at have fundet ud af det for at implementere dit websted der i første omgang.
Der kan allerede være en fil med det navn. I så fald godt! Du kan blot tilføje dine linjer til den fil.
Opret en ny tekstfil med navnet ".htaccess"i dit websteds rod.
-
Indtast nedenstående kode i den første linje. Dette fortæller den server, du vil aktivere omskrivning til det aktuelle websted.
RewriteEngine on
-
Dernæst tilføj hver af de linjer, du oprettede med generatoren. Starten af vores fil ville se sådan ud:
RewriteEngine on
RewriteRule ^ notesbøger / spiral / 3-emne-spiral / $ / 3d78654954c29ace998658? &% {QUERY_STRING} Som med enhver ændring af Apache-konfiguration er det en god ide at genstarte serveren.
Brug af Mod_Rewrite tager tid, men resultaterne er det værd
Brug af mod_rewrite-funktionen på Apache kræver bestemt en vis indsats. Du er nødt til at fikle med tekstbaserede konfigurationsfiler, finde ud af en måde at få meget små regelmæssige udtryk ind i disse filer og vide, hvordan man manuelt stopper og genstarter tjenesten. Det vil sandsynligvis kræve en masse prøve-og-fejl, før du får noget, der ikke resulterer i en fejl og opfører sig korrekt.
Når det er sagt, når du først får fat i det, får du en stor fordel ved mod_rewrite. Dine besøgende vil bedre kunne huske dine webadresser, og din placering på Google vil sandsynligvis blive bedre. De resulterende "smukke URL'er" er trods alt ikke kun til visning. De er også funktionelle.