Omdirigera undermapp till rotmapp i Apache, NGINX, IIS och Cloudflare

Jag hade min webbplats under undermappen och jag bestämde mig för att flytta till domänens rotnivå.

Den största utmaningen var att hålla alla artiklar på samma väg som en undermapp samtidigt som URL:en omdirigerades till roten på domänen eller en annan plats.

Innehållsförteckning

Apache

Apache HTTP-server stöder RewriteCond. För att göra denna ändring, redigera din .htaccess- eller httpd.conf-fil och lägg till raderna nedan i den:

RewriteEngine on
RewriteBase /
RewriteRule ^subfolder/(.*)$ /$1 [R=301,NC,L]

Här använder vi / som vår bas och vår RewriteRule fungerar för alla webbadresser i vår undermapp genom att använda reguljära uttryck. R=301 anger en permanent omdirigering.

Nginx

Vi kan uppnå liknande omdirigering med Nginx webbserver genom att använda omskrivningsdirektivet i din /etc/nginx/nginx.conf eller /etc/nginx/conf.d/default.conf:

location ^~ /subfolder {
     rewrite ^/subfolder(.*)$ $1 last;
}

Här ser ^~ modifieraren till att denna prefixplats fortsätter att ha företräde om du skulle lägga till några regexplatser i framtiden.

IIS

I IIS kan vi använda Rewrite-modulen för att skriva om URL:er som finns i en undermapp och vi vill se ut som om de fanns i roten. Du kan redigera din web.config-fil i din webroot-mapp (%SystemDrive%inetpubwwwroot) med något som:

<?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 dessutom använda URL Rewrite UI i IIS Manager för att lägga till en inkommande regel.

Cloudflare

Vi kan uppnå liknande omdirigering med Cloudflare genom att följa nedanstående steg:

  • Logga in på ditt Cloudflare-konto.
  • Klicka på lämpligt Cloudflare-konto för domänen där du vill lägga till URL-vidarebefordran.
  • Klicka på appen Regler och sedan på fliken Sidregler.
  • Under Sidregler klickar du på Skapa sidregel. Dialogrutan Skapa sidregel öppnas för din domän.
  • Nu, under Om webbadressen matchar, anger du webbadressmönstret för en undermapp som ska matcha regeln, som https://example.com/undermapp.
  • Klicka sedan på Lägg till en inställning och välj URL för vidarebefordran från rullgardinsmenyn.
  • Klicka på Välj statuskod och välj 301 (permanent omdirigering) eller 302 (tillfällig omdirigering).
  • Ange måladressen för din rotdomän och klicka på Spara och distribuera för att avsluta.

Exemplet ovan är att omdirigera allt från https://adminvista.com.com/blog till https://adminvista.com.com

Avslutar

Som du kan se är att omdirigera eller mappa en undermapp till root eller en annan URL en vanlig uppgift och stöds av de flesta populära webbläsare med olika alternativ.

Ta sedan reda på hur du kan vara värd för flera webbplatser på en enda IP.

Gillade du att läsa artikeln? Vad sägs om att dela med världen?