Přesměrujte podsložku do kořenové složky v Apache, NGINX, IIS a Cloudflare
Původně jsem měl svůj web umístěný v podsložce, ale rozhodl jsem se ho přesunout přímo do kořenového adresáře domény.
Hlavním cílem bylo zachovat strukturu všech článků, jako by stále byly v podsložce, a zároveň zajistit, aby se URL adresy přesměrovaly do kořenového adresáře domény nebo jiného určeného umístění.
Apache
Webový server Apache HTTP podporuje funkci RewriteCond. Pro provedení této změny je nutné upravit konfigurační soubor .htaccess nebo httpd.conf a přidat následující řádky:
RewriteEngine on RewriteBase / RewriteRule ^subfolder/(.*)$ /$1 [R=301,NC,L]
V tomto případě používáme / jako základní adresář a naše RewriteRule pomocí regulárních výrazů zpracovává všechny URL adresy v rámci podsložky. R=301 označuje trvalé přesměrování.
Nginx
Podobného přesměrování lze dosáhnout i pomocí webového serveru Nginx, a to pomocí direktivy rewrite v souboru /etc/nginx/nginx.conf nebo /etc/nginx/conf.d/default.conf:
location ^~ /subfolder {
rewrite ^/subfolder(.*)$ $1 last;
}
Modifikátor ^~ zde zajišťuje, že toto umístění s předponou bude mít přednost i v případě, že byste v budoucnu přidali umístění s regulárními výrazy.
IIS
V prostředí IIS můžeme použít modul Rewrite k přepsání URL adres, které se nacházejí v podsložce, tak aby se tvářily, že jsou v kořenovém adresáři. Můžete upravit soubor web.config, který se nachází ve složce webroot (%SystemDrive%inetpubwwwroot) a přidat následující konfiguraci:
<?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>
Alternativně můžete použít uživatelské rozhraní Správce služby IIS k přidání příchozího pravidla pro přepisování URL adres.
Cloudflare
Podobného přesměrování lze dosáhnout i v Cloudflare pomocí následujících kroků:
- Přihlaste se ke svému účtu Cloudflare.
- Vyberte příslušný účet Cloudflare pro doménu, u které chcete přidat přesměrování URL adres.
- Klikněte na aplikaci Pravidla a poté na záložku Pravidla stránky.
- V sekci Pravidla stránky klikněte na Vytvořit pravidlo stránky. Zobrazí se dialogové okno Vytvořit pravidlo stránky pro vaši doménu.
- V části Pokud se adresa URL shoduje, zadejte vzor URL adresy 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 vaší kořenové domény a dokončete kliknutím na tlačítko Uložit a nasadit.
Výše uvedený příklad ukazuje přesměrování všeho z https://etechblog.cz.com/blog na https://etechblog.cz.com
Závěrem
Jak vidíte, přesměrování nebo mapování podsložky na kořenovou nebo jinou URL adresu je běžný úkol, který většina populárních prohlížečů podporuje různými způsoby.
Dále se můžete dozvědět, jak hostovat více webových stránek na jedné IP adrese.
Líbil se vám tento článek? Co takhle ho sdílet s ostatními?