Ich hatte meine Website in einem Unterordner und beschloss, sie auf die Root-Ebene der Domain zu verschieben
Die größte Herausforderung bestand darin, alle Artikel auf demselben Pfad wie in einem Unterordner zu halten und gleichzeitig die URL auf die Root der Domain oder einen anderen Ort umzuleiten
Apache
Der 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 wir reguläre Ausdrücke verwenden. R=301
legt eine permanente Umleitung fest
Nginx
Eine ähnliche Umleitung können wir 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;
}
Mit dem Modifikator ^~
wird sichergestellt, dass dieser Präfix-Speicherort weiterhin Vorrang hat, wenn Sie in Zukunft weitere Regex-Speicherorte hinzufügen
IIS
In IIS können wir das Rewrite-Modul verwenden, um URLs umzuschreiben, die sich in einem Unterordner befinden und so aussehen sollen, als befänden sie sich im Stammverzeichnis. Sie können Ihre web.config-Datei
in Ihrem Webroot-Ordner(%SystemDrive%\inetpub\wwwroot
) mit etwas wie
<?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="/unterordner/{R:0}"
/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Alternativ können Sie auch die URL Rewrite UI im IIS Manager verwenden, um eine eingehende Regel hinzuzufügen
Cloudflare
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 eine 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. Der Dialog Seitenregel erstellen wird für Ihre Domain geöffnet.
- Geben Sie nun unter Wenn die URL übereinstimmt das URL-Muster für einen Unterordner ein, auf den die Regel zutreffen soll, z.B.
https://example.com/subfolder.
- Klicken Sie anschließend 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 Weiterleitung) oder 302 (temporäre Weiterleitung).
- Geben Sie die Ziel-URL für Ihre Stammdomäne ein und klicken Sie zum Abschluss auf Speichern und Bereitstellen.
Im obigen Beispiel wird alles von https://geekflare.com/blog auf https://geekflare.com umgeleitet
Fertigstellung
Wie Sie sehen, ist das Umleiten oder Zuordnen eines Unterordners zu Root oder einer anderen URL eine gängige Aufgabe und wird von den meisten gängigen Browsern mit verschiedenen Optionen unterstützt
Als nächstes erfahren Sie, wie Sie mehrere Websites auf einer einzigen IP hosten können.