Was ist der beste Weg, um HTTPS und WWW zu erzwingen, aber localhost zuzulassen?

Was ist der beste Weg, um HTTPS und WWW zu erzwingen, aber localhost zuzulassen? [Deutsche]

HTACCESS erzwingt HTTPS und WWW, lässt jedoch localhost zu

Es ist aus mehreren Gründen wichtig, HTTPS und WWW zu erzwingen: Erwerben Sie das Vertrauen Ihrer Besucher, indem Sie zeigen, dass die Verbindung sicher ist, und wenn Sie eine Unterdomäne wie www verwenden, die Konsistenz mit Ihren Besuchern und Ihren Berichten in Ihrem billigen Web wahren Hosting zum Beispiel.

In Reporting-Engines wie der Google Search Console kann es leicht kompliziert werden, unterschiedliche Ansichten für genau dieselbe Site und dieselben Seiten zu haben. Eine mit sicherer HTTPS-Verbindung, eine ohne und eine mit Web-Subdomain www und eine ohne Web-Subdomain werden zu einem Albtraum, der Sie dazu veranlasst, einen Google Analytics-Subdomainfilter einzurichten, um konsistente Berichte zu erhalten.

Es gibt tatsächlich einige einfache Möglichkeiten, um sicherzustellen, dass alle Besucher auf die sichere in HTACCESS Force HTTPS-Version der Website und der Web-Unterdomäne umgeleitet werden, ohne die Besuche zu beeinträchtigen, und es kann auch verwendet werden, um die Website mit dieser einfachen und zu einer anderen Website umzuleiten elegante Methode.

Außerdem sollten Sie sicherstellen, dass auf die localhost-Unterdomäne ohne die Web-Unterdomäne oder die Weiterleitung zu HTTPS zugegriffen werden kann und dass mit einem Schrägstrich endende Seiten zur normalen Seite weitergeleitet werden, um dies zu vermeiden Doppelte Anzahl derselben Seiten in Berichten.

Lassen Sie uns all diese doppelten Seiten loswerden, die es am Ende schwierig machen, die Analytik richtig einzuschränken:

  • http://mywebsite.com/page

  • http://mywebsite.com/page/

  • https://mywebsite.com/page

  • https://mywebsite.com/page/

  • http://www.mywebsite.com/page

  • http://www.mywebsite.com/page/

  • https://www.mywebsite.com/page

  • https://www.mywebsite.com/page/

  • Dies geschieht durch Aktualisierung der .htaccess-Datei, einer versteckten Datei, die auf Apache-Servern verwendet wird und normalerweise im Stammverzeichnis der Website gespeichert ist.

Seite umleiten, die mit einem Schrägstrich endet

Um den abschließenden Schrägstrich von der URL zu entfernen, die mit einem dieser Schrägstriche endet, und um die Anforderungen ohne Schrägstrich auf die Standardseite umzuleiten, stimmen Sie einfach mit den URLs überein, die mit einem Schrägstrich beginnen und enden. Stellen Sie sicher, dass kein Verzeichnis angefordert wird, und leiten Sie weiter auf die gesamte Anforderungs-URI ohne den abschließenden Schrägstrich.

Leiten Sie die Seite außerdem zu der sicheren Web-URL weiter, die korrekt sein sollte. Dadurch werden alle potenziellen Probleme direkt behoben, einschließlich Schrägstrich, nicht sichere Anforderung oder Nicht-Web-Unterdomäne.

Wir benötigen dann auch einen zusätzlichen Code, um sicherzustellen, dass jede Anforderung an ein Verzeichnis mit einem Schrägstrich endet, da normale Website-Verzeichnis-URLs mit einem von ihnen enden.

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]
# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

HTACCESS erzwinge HTTPS und erzwinge WWW-Zugriff

Nachdem das Problem mit dem abschließenden Schrägstrich behoben ist, konzentrieren wir uns auf das fehlende HTTPS oder die fehlende Web-Unterdomäne, die auftreten können, und leiten http mit force www auf https um.

Die einfachste und eleganteste Möglichkeit, dies zu erreichen, besteht darin, beide im exakt gleichen Zugriffszustand identifizieren zu lassen.

Dies geschieht auf einfache Weise, indem URLs abgeglichen werden, die nicht mit der Web-Subdomain beginnen, oder Anforderungen, die das HTTPS nicht enthalten, und die korrekte URL unserer Website umgeleitet werden, die sowohl die sichere Verbindung als auch die Web-Subdomain enthält.

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

Erzwinge HTTPS und WWW, aber erlaube localhost

Nun, das ist alles in Ordnung, aber was passiert, wenn wir tatsächlich versuchen, unsere Website im Entwicklungsmodus auf dem lokalen XAMPP-Server zu erreichen, aber alle unsere Anfragen an http: // localhost werden jetzt an https://www.mysite.com weitergeleitet - unsere Serienversion?

Die Lösung besteht darin, den vorherigen Teil des Codes, der die HTTPS- und WWW-Version der URL-Anforderung erzwingt, erneut zu verwenden, ihn jedoch von den Überprüfungsanforderungen auszuschließen, die entweder an localhost oder an unsere lokale IP-Adresse 127.0.0.1 gerichtet sind.

Und das wars, wir haben jetzt ein schönes Stück Code, das all unsere Probleme lösen wird!

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

Leiten Sie HTTP zu HTTPS htaccess um, erzwingen Sie WWW und entfernen Sie den abschließenden Schrägstrich

Der gesamte folgende Code kann in der HTACCESS-Datei verwendet werden, um Folgendes zu erreichen:

HTTP in htacces zu HTTPS umleiten,

Erzwinge WWW im Zugriff,

End-Schrägstrich in URL entfernen.

Vergessen Sie natürlich nicht, die URL der Website für diejenige zu ändern, die für Sie gilt.

Es kann sogar verwendet werden, um die Website auf eine andere Website umzuleiten, indem einfach die Ziel-URLs auf Ihre andere beste billige Webhosting-Website geändert werden:

#--------------------------------------------------
# Force WWW htaccess : /
#--------------------------------------------------
#### Force HTTPS://WWW and remove trailing / from files ####
## Turn on rewrite engine
RewriteEngine on

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]

# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

# HTACCESS force HTTPS and force WWW htaccess
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

Ähnliche Artikel

Bemerkungen (0)

Hinterlasse einen Kommentar

Steigern Sie den Anzeigenumsatz mit Ezoic um 50-250%. Ein von Google zertifizierter Publishing-Partner.
Steigern Sie den Anzeigenumsatz mit Ezoic um 50-250%. Ein von Google zertifizierter Publishing-Partner.
 
Steigern Sie den Anzeigenumsatz mit Ezoic um 50-250%. Ein von Google zertifizierter Publishing-Partner.
Steigern Sie den Anzeigenumsatz mit Ezoic um 50-250%. Ein von Google zertifizierter Publishing-Partner.