2016-11-25 3 views
1

Ich habe Probleme mit der korrekten Weiterleitung meiner URLs.Verwenden mehrerer Regeln für das URL-Rewrite (.htaccess)

Was würde ich passieren mag

-https://www.ourwebsite.co.uk So leiten, wenn eine der folgenden Ereignisse eintritt:

  • Benutzer die Website von Zugriffen (http: // oder https: //) ourwebsite .com/.net/.org/.mobi/.eu
  • Benutzer tritt nicht von HTTPS (443) ein
  • Benutzer betritt die Website ohne www.
  • Grundsätzlich müssen sie die Website über https://www.ourwebsite.com oder gar nicht besuchen.

Was geschieht jetzt

Meine .htaccess-Datei enthält derzeit:

RewriteCond %{HTTP_HOST} . 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTP_HOST} ^(www\.)?ourwebsite\.com$ [NC] 
RewriteCond %{HTTP_HOST} ^(www\.)?ourwebsite\.net$ [NC] 
RewriteCond %{HTTP_HOST} ^(www\.)?ourwebsite\.eu$ [NC] 
RewriteCond %{HTTP_HOST} ^(www\.)?ourwebsite\.mobi$ [NC] 
RewriteCond %{HTTP_HOST} ^(www\.)?ourwebsite\.it$ [NC] 
RewriteRule ^(.*)$ https://www.ourwebsite.co.uk/$1 [R=301,L] 

RewriteCond %{SERVER_PORT} !443 
RewriteRule ^(.*)$ https://www.ourwebsite.co.uk/$1 [R=301,L] 

ich versucht habe ...

ich viele verschiedene Beispiele versucht haben, fand ich online, arbeiten sie einzeln, aber sie nicht scheinen zusammen zu arbeiten. Ich habe die Nicht-443-Regel getrennt und am Ende getrennt hinzugefügt, aber daran hat sich nichts geändert.

Antwort

1

Sie können in einer einzigen Umleitung Regel tun:

RewriteEngine On 

RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} !=www.ourwebsite.co.uk 
RewriteRule^https://www.ourwebsite.co.uk%{REQUEST_URI} [R=301,L,NE] 

# rest of rules go below this 

Vergewissern Sie sich vor dem Test diese Änderung Ihrer Browser-Cache löschen.

+1

Es war das Wochenende und ich habe noch nicht auf der Firmenseite gearbeitet. Das ist mir jetzt klar, ich hätte mit so etwas gehen sollen! – user2924019

Verwandte Themen