2017-01-24 3 views
1

Ich brauche meine .htaccess zu bearbeiten, so geschieht folgendes:umleiten unvollständige URL https: //

theeatalianjob.com -> https://www.theeatalianjob.com 
www.theeatalianjob.com -> https://www.theeatalianjob.com 
http://www.theeatalianjob.com -> https://www.theeatalianjob.com 

folgendes:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

fügt nur die https: // vor HTTP_HOST Wie schreibe ich eine if-Anweisung, die www hinzufügt. wenn fehlt?

Vielen Dank für Ihre Hilfe.

Antwort

1

Ihre Antwort wird 2 Dinge tun:

  1. www hinzufügen, wenn sie fehle
  2. Redirect http zu https

Also, wenn URL http://domain.com ist, dann wird es zwei Weiterleitungen geben, und das ist schlecht für SEO und für Benutzererfahrung auch.

können Sie eine Regel verwenden beide Umleitungen wie dies zu tun:

RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
RewriteRule^https://www.%1%{REQUEST_URI} [R=301,L,NE] 
+1

Vielen Dank – Dino

+0

Ich habe angenommen anubhava Antwort als eleganter als meins, aber ich muss einige Überlegungen hinzufügen. Als ich meine Website mit Safary geöffnet habe, erscheint folgende Fehlermeldung: "Die Seite konnte nicht geöffnet werden, zu viele Weiterleitungen". Ich habe das Problem behoben, indem ich Redirects auf der Serverseite mit dem CPanel umgeleitet habe. - – Dino

+0

Wenn das Problem nur bei einem Browser auftritt, müssen Sie vor dem Testen den Browser-Cache leeren. – anubhava

0

Ich glaube, ich habe die Lösung für meine eigene Frage gefunden, aber fühlen Sie sich frei elegant diejenigen vorschlagen ...

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301] 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
+0

I anubhava Antwort als eleganter als meine angenommen haben, aber ich brauche einige Überlegungen hinzuzufügen. Als ich meine Website mit Safary geöffnet habe, erscheint folgende Fehlermeldung: "Die Seite konnte nicht geöffnet werden, zu viele Weiterleitungen". Ich habe das Problem behoben, indem ich Redirects auf der Serverseite mit dem CPanel umgeleitet habe. – Dino