Ich habe dies in meiner .htaccess-Datei:
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com$1 [R=301,L]
Aber wenn ich auf eine Datei in meinem Stammverzeichnis zugreife http://example.com/robots.txt
, wird diese umgeleitet http://www.example.comrobots.txt/
.
Wie kann ich das korrigieren, damit es korrekt umgeleitet wird http://www.example.com/robots.txt
?
blog.example.com
wirdwww.blog.example.com
Hier ist die richtige Lösung, die https und http unterstützt:
quelle
www
wie es die anderen generischen Lösungen tun.yoursite.co.uk
Für Https
quelle
^(.*)$
statt(.*)
?Das folgende Beispiel funktioniert sowohl mit SSL als auch mit Nicht-SSL und ist viel schneller, da Sie nur eine Regel zum Verwalten von http und https verwenden
[Geprüft]
Dies wird umleiten
http
zu
https
zu
quelle
Versuchen Sie dies, ich habe es auf vielen Websites verwendet, es funktioniert perfekt
quelle
Ich habe alle oben genannten Lösungen getestet, aber es funktioniert nicht für mich. Ich habe versucht, das http: // zu entfernen und werde nicht umleiten. Außerdem habe ich das www it redirect gut entfernt. Daher bin ich verwirrt, insbesondere, dass ich alle meine Websites unter https ausführe : //
Also habe ich einige Codes miteinander kombiniert und eine perfekte Lösung für http: // und https: // sowie www und non-www gefunden.
Hoffe das kann jemandem helfen :)
quelle
Fügen Sie den folgenden Code in die .htaccess-Datei ein.
Das Tutorial zur Weiterleitung von URLs finden Sie hier - Leiten Sie Nicht-WWW zu WWW und HTTP zu HTTPS mithilfe der .htaccess-Datei um
quelle
Diese Konfiguration funktionierte für mich in Bitnami WordPress mit konfiguriertem SSL:
Das Folgende wurde unter "RewriteEngine On" in der Datei /opt/bitnami/apps/wordpress/conf/httpd-app.conf hinzugefügt
quelle
Dadurch wird Ihre Domain umgeleitet, die nicht mit WWW gestartet wurde. Es wird nicht Ihre gesamte Subdomain umgeleitet.
Es ist nützlich.
quelle
Ich glaube, dass die Top-Antwort Nicht-www erfolgreich zu www umleitet (z. B. mysite.com -> www.mysite.com ), berücksichtigt jedoch keine Platzhalter-Subdomänen, was zu Folgendem führt:
Hier ist eine Lösung mit / ohne HTTPS
HTTP
HTTP / HTTPS
* Hinweis: Ich habe https nicht getestet, da ich derzeit kein zu testendes Zertifikat habe. Wenn jedoch jemand überprüfen oder optimieren kann, was ich habe, wäre das fantastisch.
quelle
Wenn möglich, fügen Sie dies der Hauptkonfigurationsdatei von Apache hinzu. Es ist eine leichtere Lösung, die weniger Verarbeitung erfordert.
Das separate
VirtualHost
für "example.com" erfasst diese Anforderungen und leitet sie dann dauerhaft an Ihre Hauptanforderung weiterVirtualHost
. Es gibt also keine REGEX-Analyse bei jeder Anforderung, und Ihre Client-Browser speichern die Umleitung im Cache, sodass sie nie wieder (oder selten) die "falsche" URL anfordern, wodurch Sie beim Laden des Servers sparen.Beachten Sie, dass der nachfolgende Schrägstrich eingeht
Redirect permanent / http://www.example.com/
. Ohne sieexample.com/asdf
würde eine Umleitung von zuhttp://www.example.comasdf
statt umleitenhttp://www.example.com/asdf
.quelle
Zwei Warnungen
Vermeiden Sie 301 und bevorzugen Sie moderne 303- oder 307-Antwortstatuscodes.
Vermeiden Sie 301
Überlegen Sie genau, ob Sie die angegebene permanente Weiterleitung wirklich benötigen.
[R=301]
Wenn Sie sie später ändern möchten, sehen die vorherigen Besucher der Seite weiterhin die Seite der ursprünglichen Weiterleitung.Die permanenten Umleitungsinformationen werden häufig im Cache des Browsers gespeichert und sind im Allgemeinen schwer zu entfernen (erneutes Laden der Seite löst das Problem nicht). Ihre Website-Besucher bleiben in der vorherigen Weiterleitung "für immer" stecken.
Vermeiden Sie auch 302
Die neue Version des HTTP-Protokolls (v1.1) hat zwei neue Antwortstatuscodes hinzugefügt, die anstelle von 302 verwendet werden können.
303
URL-Umleitung, aber Anforderung, den Anfragetyp in GET zu ändern.307
URL-Umleitung, fordert jedoch, den ursprünglich gesendeten Anforderungstyp beizubehalten.Sie können den Code weiterhin verwenden
302
(nicht permanente Umleitung), obwohl er als mehrdeutig angesehen wird. In jedem Fall implementieren302
die meisten Browser die gleiche303
Anweisung wie der neue Code.quelle
http://example.com/testing
nach umgeleitethttp://www.example.com/testing
. Könnte langfristig ein schlechter Ansatz sein? Danke,Schreiben Sie in .htaccess :)
quelle