[FIXED] Htaccess-URL-Umleitungen funktionieren für http, nicht alle https

Ausgabe

Neuling bei htaccess und Weiterleitungen, ich hoffe, jemand kann mir dabei helfen. Im Moment leiten alle http-URLs korrekt um. Wenn Sie zB zu otherdomain.com gehen, gelangen Sie zu maindomian.com.

Dies funktioniert derzeit nicht für alle https-Links.

Zum Beispiel: http – sowohl www als auch nicht www otherdomain.com/blog wird auf https://www.mainwebsite.com/blog umgeleitet

Was ich brauche, aber sobald ich zum https komme, macht es Folgendes:

https – Sowohl www als auch nicht www otherdomain.com/blog bleiben in der https otherdomain.com/blog-Domain.

Was falsch ist, weil es zur Blog-Seite der Hauptwebsite gehen muss. Aber wenn ich manuell eine Umleitung auf einer Seite hinzugefügt habe, funktionieren alle http- und https-URLs: ZB wird sowohl www als auch nicht www
http://www.otherdomain.com/newpage auf https://www.mainwebsite.com/
umgeleitet . welcome https://www.otherdomain.com/newpage leitet zu https://www.mainwebsite.com/welcome weiter

Es ist Drupal 7, hier ist der Code, den ich derzeit habe:

Weiterleitung /newpage https://www.mainwebsite.com/welcome


    RewriteEngine an
    RewriteBase /

    # HTTPS erzwingen
    RewriteCond %{HTTPS} aus
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    # Entfernen Sie den abschließenden Schrägstrich
    RewriteRule ^(.*)/$ https://%{HTTP_HOST}/$1 [R=301,L]

    RewriteCond %{HTTP_HOST} ^mainwebsite.com$ [NC]
    RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    # Setze "protossl" auf "s", wenn wir über https:// aufgerufen wurden. Dies wird später verwendet
    # Wenn Sie "www." aktivieren Stripping oder Vollstreckung, um dies sicherzustellen
    # Sie wechseln nicht zwischen http und https.
    RewriteRule ^ - [E=protossl]
    RewriteCond %{HTTPS} aktiviert
    RewriteRule ^ - [E=protossl:s]

    # Stellen Sie sicher, dass der Autorisierungs-HTTP-Header für PHP verfügbar ist
    # auch wenn es als CGI oder FastCGI ausgeführt wird.
    RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

        # Alle Anfragen weiterleiten, die sich nicht direkt auf Dateien im Dateisystem beziehen
    # index.php. Saubere URLs werden in drupal_environment_initialize() behandelt.
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !=/favicon.ico
    RewriteRule ^ index.php [L]

Irgendeine Idee, wie ich eine beliebige URL von https otherdomain.com erhalten kann, um zur mainwebsite.com zu gelangen? Jede Hilfe wäre sehr willkommen.

Lösung

RewriteEngine on
RewriteCond %{HTTP_HOST} ^othersite.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.othersite.com [NC]
RewriteRule ^(.*)$ https://www.mainwebsite.com/$1 [L,R=301,NC]

Dadurch werden alle Anfragen umgeleitet, nicht nur /blog

Wenn Sie nur /blog umleiten möchten, würde ich die RewriteRule ein wenig anpassen

RewriteRule ^blog/?$ http://www.newsite.com/blog [L,R=301,NC]


Beantwortet von –
Emir Memic


Antwort geprüft von –
Gilberto Lyons (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like