Leiten Sie den Unterordner in den Stammordner in Apache, NGINX, IIS und Cloudflare um

Ich hatte meine Website unter einem Unterordner und entschied mich, auf die Stammebene der Domain zu wechseln.

Die größte Herausforderung bestand darin, alle Artikel auf dem gleichen Pfad wie ein Unterordner zu halten und gleichzeitig die URL zum Stammverzeichnis der Domain oder zu einem anderen Ort umzuleiten.

Inhaltsverzeichnis

Apache

Apache HTTP-Server unterstützt RewriteCond. Um diese Änderung vorzunehmen, bearbeiten Sie Ihre .htaccess- oder httpd.conf-Datei und fügen Sie die folgenden Zeilen hinzu:

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

Hier verwenden wir / als Basis und unsere RewriteRule funktioniert für alle URLs in unserem Unterordner, indem sie reguläre Ausdrücke verwendet. R=301 gibt eine permanente Weiterleitung an.

Nginx

Wir können eine ähnliche Umleitung mit dem Nginx-Webserver erreichen, indem wir die rewrite-Direktive in Ihrer /etc/nginx/nginx.conf oder /etc/nginx/conf.d/default.conf verwenden:

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

Hier stellt der Modifikator ^~ sicher, dass diese Präfixposition weiterhin Vorrang hat, wenn Sie in Zukunft Regex-Positionen hinzufügen würden.

  So legen Sie ein GIF als Live-Hintergrund auf Ihrem iPhone fest

IIS

In IIS können wir das Rewrite-Modul verwenden, um URLs umzuschreiben, die sich in einem Unterordner befinden und so angezeigt werden sollen, als ob sie sich im Stammverzeichnis befänden. Sie können Ihre web.config-Datei in Ihrem Webroot-Ordner (%SystemDrive%inetpubwwwroot) mit etwas wie dem folgenden bearbeiten:

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

Alternativ können Sie zusätzlich die URL-Rewrite-Benutzeroberfläche im IIS-Manager verwenden, um eine eingehende Regel hinzuzufügen.

Wolkenflare

Wir können eine ähnliche Umleitung mit Cloudflare erreichen, indem wir die folgenden Schritte ausführen:

  • Melden Sie sich bei Ihrem Cloudflare-Konto an.
  • Klicken Sie auf das entsprechende Cloudflare-Konto für die Domain, zu der Sie die URL-Weiterleitung hinzufügen möchten.
  • Klicken Sie auf die App „Regeln“ und dann auf die Registerkarte „Seitenregeln“.
  • Klicken Sie unter Seitenregeln auf Seitenregel erstellen. Das Dialogfeld Seitenregel erstellen wird für Ihre Domäne geöffnet.
  • Geben Sie nun unter Wenn die URL übereinstimmt das URL-Muster für einen Unterordner ein, der der Regel entsprechen sollte, z. B. https://example.com/subfolder.
  • Klicken Sie als Nächstes auf Einstellung hinzufügen und wählen Sie Weiterleitungs-URL aus dem Dropdown-Menü.
  • Klicken Sie auf Statuscode auswählen und wählen Sie 301 (permanente Umleitung) oder 302 (temporäre Umleitung).
  • Geben Sie die Ziel-URL für Ihre Stammdomäne ein und klicken Sie zum Abschluss auf Speichern und bereitstellen.
  So entfernen Sie Chat und Meet aus Gmail

Das obige Beispiel dient dazu, alles von https://wdzwdz.com/blog auf https://wdzwdz.com umzuleiten

Einpacken

Wie Sie sehen können, ist das Umleiten oder Zuordnen eines Unterordners zum Stammverzeichnis oder einer anderen URL eine häufige Aufgabe und wird von den meisten gängigen Browsern mit unterschiedlichen Optionen unterstützt.

Finden Sie als Nächstes heraus, wie Sie mehrere Websites auf einer einzigen IP hosten können.

Haben Sie den Artikel gerne gelesen? Wie wäre es mit der Welt zu teilen?