auf https umschalten

Raven280438

Erfahrenes Mitglied
Hi,

ich habe eine Seite, auf der man bestellen kann. Ist es möglich, mittels PHP irgendwie auf https umzuschalten? Ich gebe die Links ja ohne http:// (bzw. https://) an.

Vielleicht irgendwie mit der header-Funktion?



Gruß
 
Zuerst einmal müsstest du den VirtualHost Eintrag im Apache ändern, da https normalerweise auf Port 443 läuft. Zudem müsstest du ein Zertifikat haben, am besten von einer öffentlichen Zertifizierungsstelle, damit du SSL nutzen kannst. Das kostet aber meist ziemlich viel Geld, daher solltest du dich erstmal informieren (bei deinem Webhoster z.B.).


Gruß Radhad
 
Vielen Dank für die Antworten, ich hab das Problem jetzt folgender Maßen gelöst:

PHP:
if (!$_SERVER['HTTPS']) {
	$redirect = "https://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
	header('Location: '.$redirect);
}

Das funktioniert auch so, da man auf die Bestellungs-Seite nur mit GET kommt.


Gruß
 
Kleiner Verbesserungsvorschlag:
PHP:
if( !isset($_SERVER['HTTPS']) ) {
	$redirect = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
	header('Location: '.$redirect, true, 101);
}
 
Danke,

kannst du kurz erklären, für was das true und 101 bei
PHP:
header('Location: '.$redirect, true, 101);
stehn?

Der arme Gumbo, finde ich, ist da etwas unterfordert, also antworte ich mal :p
Die Antwort zu deiner Frage steht auf der PHP Referenz, nämlich hier, unter "replace", das ist der Name des dritten Parameter...
Der optionale Parameter replace gibt an, ob der Header einen vorhergehenden gleichartigen Header ersetzten soll, oder ob ein zweiter Header des selben Typs hinzugefügt werden soll. Standardmäßig wird ersetzt; wenn Sie als zweites Argument FALSE übergeben, können Sie so mehrere Header desselben Typs erzwingen.
...dann steht da noch etwas von wegen "http_response_code" - diese Seite hat mir Google ausgespuckt: hier und das hier sagt Wikipedia dazu
Hoffe ich konnte dir helfen ^^
 
Zurück