Heim >Backend-Entwicklung >PHP-Tutorial >Wie erzwinge ich SSL/HTTPS mit .htaccess und mod_rewrite?
SSL/HTTPS mit .htaccess und mod_rewrite erzwingen
Um SSL/HTTPS mit .htaccess und mod_rewrite durchzusetzen, stehen mehrere Ansätze zur Verfügung.
Verwenden mod_ssl
Apaches mod_ssl stellt die SSLRequireSSL-Direktive bereit, die den Zugriff einschränkt, sofern HTTPS nicht aktiviert ist. Durch das Hinzufügen dieser Anweisung zum SSL-fähigen virtuellen Host oder den SSL-fähigen Verzeichnissen können Sie verhindern, dass vertrauliche Daten offengelegt werden. Diese Methode leitet jedoch nicht zu HTTPS um.
Verwenden von mod_rewrite
Um zu HTTPS umzuleiten, verwenden Sie mod_rewrite in Ihrer .htaccess-Datei:
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Alternative Ansätze
Zusätzliche Optionen für Zur Durchsetzung von HTTPS gehören:
PHP-basiert Lösung
In Fällen, in denen .htaccess deaktiviert ist, kann PHP verwendet werden:
if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] !== 'on') { if(!headers_sent()) { header("Status: 301 Moved Permanently"); header(sprintf( 'Location: https://%s%s', $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_URI'] )); exit(); } }
Das obige ist der detaillierte Inhalt vonWie erzwinge ich SSL/HTTPS mit .htaccess und mod_rewrite?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!