2016-05-18 9 views
0

Ich versuche, meine .httaccess-Konfiguration zu bearbeiten. Ich möchte every auf https umgeleitet, aber wenn ich das versuchen, was ich auf Stackoverflow gefunden:htaccess Umleitung von http zu https + GET param

RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

Es wird nicht umgeleitet werden.

Jetzt ist meine .htaccess wie folgt aussieht:

RewriteEngine On 

# ignore all existing files and directories for rewriting  
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

RewriteRule ^([\d+^/]*)$ /index.php?id=$1 [QSA,L] 
RewriteRule ^([\w+^/]*)$ /index.php?name=$1 [QSA,L] 

Rewrite-Regeln wie:

^([\d+^/]*)$ /index.php?id=$1 [QSA,L] 

gut arbeiten, wenn ich

  • www.mydomain.com/523
  • wollen

es ist wie

  • www.mydomain.com/index.php?id=523

Wie kann ich meinen Code anhängen von http umleiten: // zu https: // und Meine älteren Rewrite-Regeln funktionieren noch?

Antwort

0

Versuchen:

RewriteEngine On 
RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI [NE,L,R] 
    # ignore all existing files and directories for rewriting  
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 
RewriteRule ^([\d+^/]*)$ /index.php?id=$1 [QSA,L] 
RewriteRule ^([\w+^/]*)$ /index.php?name=$1 [QSA,L] 
+0

es funktioniert nicht. Wenn ich URL www.mydomain.com schreibe, geschieht nohink und löste URL-Eingabe im Browser (ohne irgendeinen Fehler oder Umleitung) – Michal

+0

@Michael, was genau geschieht, wenn Sie die URL eingeben? Ich habe diese Regeln auf meinem Server getestet und es funktioniert. – starkeen

+0

Ich tippe Browser meine URL, drücke Enter und dann Browser löscht URL Eingabe und nichts passiert passiert (ich sehe immer noch meine Standard-Browser-Seite mit Lesezeichen) – Michal

0

ich dies für GET params gelöst haben:

RewriteEngine On 

# ignore all existing files and directories for rewriting  
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

RewriteRule ^([\d+^/]*)$ https://%{HTTP_HOST}/index.php?id=$1 [QSA,L] 
RewriteRule ^([\w+^/]*)$ https://%{HTTP_HOST}/index.php?name=$1 [QSA,L] 

Aber ich kann es nicht für Homepage und allen anderen Seiten lösen. Ich verwende stattdessen JS location.replace. Wenn jemand weiß, wie .htaccess zu setzen, diese Dinge zu tun synchron:

  • Redirect alle Dateien in https
  • und alle Ziffern und Worte nach Strich auf der Homepage (example.com/63) Umleitung zu https://% {HTTP_HOST } /index.php?id=$1 (als GET-Parameter)
Verwandte Themen