Hej
Jag har ett system som bl.a. innehåller inloggning. Sajten körs by default utan SSL men kommer nu köpa ett certifikat som ska användas då det är "nödvändigt", d.v.s. under registrering, inloggning och bokning.
När man inte är på medlemssidorna finns det ingen anledning att köra SSL, eftersom det (kan) sega ner sidan onödigt vid många samtidiga besök.
Så, hur gör jag lättast för att omdirigera vissa sidor till HTTPS? Kan jag sätta upp regler som bara gäller vissa URL'er med .httaccess?
Med det här körs ju hela sidan i SSL läge, men jag vill som sagt bara omdirigera vissa sidor:
RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domain.com/$1 [R,L]
Någon som har förslag?
SPiNMedlem sedan mars 20007 896 inlägg Du kan ju ha flera conditions;
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} member
RewriteRule ^(.*)$ https://www.domain.com/$1 [R,L]
Nu kommer bara anrop till http://www.domain.com/member gå över till SSL.
Och vad blir den bästa lösningen om man ska göra det i PHP? Det här rör sig om ett CMS och vissa sajter har valt att köra utan SSL cert. därför blir en htaccess lösning lite jobbig, eftersom varje sajt kör med exakt samma filer, förutom filen som innehåller alla inställningar.
En tanke som dykt upp är att ha en define("SSL", true); på de sajter som vill köra med certifikat och att medlemssidorna då ska omdirigeras.
Fler förslag?
GunnarDMedlem sedan juni 20014 290 inlägg Du kan kolla om sidan är anropad via http eller https via variabel $_SERVER['HTTPS']
php manualen skrev:
'HTTPS'
Set to a non-empty value if the script was queried through the HTTPS protocol.
Note: Note that when using ISAPI with IIS, the value will be off if the request was not made through the HTTPS protocol.
Är den tom så är det bara skicka en header("Location: https://....);