Jag flyttade nyligen min webbplats från en undermapp till domänens huvudkatalog.
Den största utmaningen var att se till att alla mina artiklar behöll sina ursprungliga sökvägar, samtidigt som URL:erna skulle omdirigeras till domänens rot eller en annan plats.
Apache
Apache HTTP-server erbjuder stöd för RewriteCond
. För att genomföra denna ändring, behöver du redigera filen .htaccess
eller httpd.conf
och lägga till följande rader:
RewriteEngine on RewriteBase / RewriteRule ^subfolder/(.*)$ /$1 [R=301,NC,L]
Här används /
som vår bas, och RewriteRule
bearbetar alla webbadresser i vår undermapp genom att använda reguljära uttryck. Parametern R=301
indikerar en permanent omdirigering.
Nginx
Med Nginx webbserver kan vi uppnå en liknande omdirigering genom att använda omskrivningsdirektivet i /etc/nginx/nginx.conf
eller /etc/nginx/conf.d/default.conf
:
location ^~ /subfolder { rewrite ^/subfolder(.*)$ $1 last; }
Här säkerställer modifieraren ^~
att denna prefixplats fortsätter att ha prioritet om du skulle lägga till några regexp-platser i framtiden.
IIS
I IIS kan vi använda Rewrite-modulen för att omdirigera URL:er som befinner sig i en undermapp så att de verkar ligga i roten. Du kan redigera din web.config
-fil i din webbplatsens rotmapp (%SystemDrive%\inetpub\wwwroot
) med följande exempel:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Root_URL_Rewrite" stopProcessing="true"> <match url="^(.*)" /> <action type="Rewrite" url="/subfolder/{R:0}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
Alternativt kan du använda IIS Managers användargränssnitt för URL Rewrite för att lägga till en inkommande regel.
Cloudflare
Vi kan åstadkomma en liknande omdirigering med Cloudflare genom att följa dessa steg:
- Logga in på ditt Cloudflare-konto.
- Välj det Cloudflare-konto som är kopplat till domänen där du vill konfigurera URL-vidarebefordran.
- Navigera till appen ”Regler” och välj fliken ”Sidregler”.
- Klicka på ”Skapa sidregel” under ”Sidregler”. Dialogrutan för att skapa en ny sidregel öppnas.
- Under ”Om webbadressen matchar” anger du webbadressmönstret för den undermapp som ska matcha regeln, till exempel
https://example.com/undermapp
. - Klicka sedan på ”Lägg till en inställning” och välj ”URL-vidarebefordran” från listan.
- Välj en statuskod genom att klicka på ”Välj statuskod”, välj
301
(permanent omdirigering) eller302
(tillfällig omdirigering). - Ange måladressen för din rotdomän och klicka på ”Spara och distribuera” för att slutföra.
Exemplet ovan visar hur man omdirigerar allt från https://adminvista.com/blog
till https://adminvista.com
.
Slutsats
Som vi har sett är det en vanlig uppgift att omdirigera eller mappa en undermapp till roten eller en annan URL, och detta stöds av de flesta populära webbservrar med olika metoder.
Utforska gärna hur du kan vara värd för flera webbplatser på en enda IP-adress.
Tyckte du artikeln var intressant? Dela den gärna med andra!