2012-04-02 11 views
3

Ich versuche harte Zeit, HTTPS (SSL) auf bestimmte Seite auf codeiginiter Rahmen zu erzwingen. Ich habe viele Wege ausprobiert, aber keiner hat funktioniert. Der einzige Weg, der für mich funktioniert, ist das Ändern der $ config ['base_url'] Site-Link zu beginnen mit https anstelle von http. Das Ergebnis war, dass alle Links auf ssl (die gesamte Site) gesetzt wurden, was keinen Sinn macht, da ich das SSL nicht überall verwenden muss. Ich benutzte einen PHP-Code auf der Login-Seite, aber das machte einige Probleme, also gab ich es auf.codeigniter, zwingt ssl auf einer bestimmten Seite

Ich möchte wissen, ob dies eine gute Methode ist, wie das zu tun, irgendeine Idee?

Danke,

Antwort

4

Sie benötigen Bedingung hinzufügen auf .htaccess die Verwendung von SSL-Port arbeiten nur für ausgewählte URLs zu machen.

Hier ist Beispiel, wie

RewriteEngine on 

RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} controller/function 
RewriteRule ^(.*)$ https://www.yourdomain.com/controller/function[R=301,L] 

RewriteCond %{SERVER_PORT} 443 
RewriteCond %{REQUEST_URI} controller/function 
RewriteRule ^(.*)$ https://www.yourdomain.com/controller/function[R=301,L] 

RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteRule ^(.*)$ index.php/$1 [L] 

P. S zu tun: Ihr base_url muss “/” in Ihrer Konfigurationsdatei festgelegt werden. Weitere Informationen http://codeigniter.com/wiki/SSL_Handling

+0

Danke für die Antwort überprüfen. Übrigens, bist du sicher, dass dieser Code funktioniert? Ich habe es versucht und meine gesamte Website funktioniert nicht. Der Browser gibt eine Fehlermeldung aus, dass meine Site entweder nicht erreichbar ist oder gewartet wird ... eine Idee? –

+0

ok, werde es nochmal versuchen –

+0

jetzt sind die Dinge in Ordnung ... was kommt als nächstes, damit ich https verwenden kann? –

Verwandte Themen