Přesměrujte podsložku do kořenové složky v Apache, NGINX, IIS a Cloudflare

Měl jsem svůj web pod podsložkou a rozhodl jsem se přejít na kořenovou úroveň domény.

Hlavním úkolem bylo udržet všechny články na stejné cestě jako podsložku a zároveň přesměrovat adresu URL do kořene domény nebo jiného umístění.

Table of Contents

Apache

Apache HTTP server podporuje RewriteCond. Chcete-li provést tuto změnu, upravte svůj soubor .htaccess nebo httpd.conf a přidejte do něj následující řádky:

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

Zde používáme / jako náš základ a naše RewriteRule funguje pro všechny adresy URL v naší podsložce pomocí regulárních výrazů. R=301 určuje trvalé přesměrování.

  Pomocí receptů vytvořte náhodná hesla, která si nebudete muset pamatovat [Paid]

Nginx

Podobného přesměrování můžeme dosáhnout s webovým serverem Nginx pomocí direktivy rewrite ve vašem /etc/nginx/nginx.conf nebo /etc/nginx/conf.d/default.conf:

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

Zde modifikátor ^~ zajišťuje, že toto umístění předpony bude mít i nadále přednost, pokud byste v budoucnu přidali umístění regulárních výrazů.

IIS

V IIS můžeme pomocí modulu Rewrite přepsat adresy URL, které jsou v podsložce a chceme, aby vypadaly, jako by byly v kořenu. Svůj soubor web.config můžete upravit ve složce webroot (%SystemDrive%inetpubwwwroot) pomocí něčeho jako:

<?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>

Případně můžete dodatečně použít uživatelské rozhraní pro přepsání adresy URL ve Správci služby IIS a přidat příchozí pravidlo.

  Jak přidat a odebrat lidi ve skupinovém textu na iPhone

mračna

Podobného přesměrování můžeme dosáhnout pomocí Cloudflare podle následujících kroků:

  • Přihlaste se ke svému účtu Cloudflare.
  • Klikněte na příslušný účet Cloudflare pro doménu, kam chcete přidat přesměrování URL.
  • Klikněte na aplikaci Pravidla a poté na kartu Pravidla stránky.
  • V části Pravidla stránky klikněte na Vytvořit pravidlo stránky. Otevře se dialogové okno Vytvořit pravidlo stránky pro vaši doménu.
  • Nyní v části Pokud se adresa URL shoduje zadejte vzor adresy URL pro podsložku, která by měla odpovídat pravidlu, například https://example.com/podsložka.
  • Dále klikněte na Přidat nastavení a z rozbalovací nabídky vyberte Přesměrování URL.
  • Klikněte na Vybrat stavový kód a vyberte 301 (trvalé přesměrování) nebo 302 (dočasné přesměrování).
  • Zadejte cílovou adresu URL své kořenové domény a dokončete kliknutím na tlačítko Uložit a nasadit.
  Jak opravit nespolehlivé připojení v CSGO

Výše uvedený příklad je přesměrování všeho z https://etechblog.cz.com/blog na https://etechblog.cz.com

Zabalit se

Jak můžete vidět, přesměrování nebo mapování podsložky na kořenovou nebo jinou adresu URL je běžný úkol a většina populárních prohlížečů jej podporuje s různými možnostmi.

Dále zjistěte, jak můžete hostovat více webových stránek na jedné IP.

Užili jste si čtení článku? Co takhle sdílet se světem?