Wie leitet man http://domain.com auf https://www.domain.com um?

Lesezeit: 3 Minuten

Benutzer-Avatar
Hallo

Ich habe bereits ein SSL-Zertifikat. Ich habe WordPress installiert, siehe Ordnerstruktur in meinem Hostgator-Dateimanager unten:

habe ich schon gestellt define('FORCE_SSL_ADMIN', true); in wp_config.php

WordPress Allgemeine Einstellungen: WordPress-Adresse (URL): https://www.domain.com/blog
Site-Adresse (URL): https://www.domain.com

public_html
  -> blog (inside is the wordpress installation)

database structure
  -> wp_options
      -> siteurl: https://www.domain.com/blog
      -> home: https://www.domain.com

Ich habe Hostgator-Cpanel-Weiterleitungen ausprobiert, funktioniert aber nicht.

Ich habe auch versucht, einige der Lösungen zu bearbeiten .htaccess während der Suche in Google.

Vielleicht habe ich bei der Ordnerstruktur etwas übersehen.

.htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /blog/

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

# END WordPress

  • Bitte posten Sie Ihre aktuellen htaccess-Regeln für WordPress.

    – Panamajack

    24. Juni 2015 um 4:02 Uhr

  • Haben Sie versucht, die .htaccess wie RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^(.*) https://%{SERVER_NAME}/$1 zu ändern [R,L] Dies?

    – Raul S

    24. Juni 2015 um 4:10 Uhr


  • Ich habe dies bereits außerhalb von # BEGIN WordPress versucht, hat immer noch nicht funktioniert.

    – hallo

    24. Juni 2015 um 5:15 Uhr


Benutzer-Avatar
Panama Jack

Normalerweise fügen Sie die Regeln einfach zu Ihren WordPress-Regeln hinzu. Sie gehen vor WP-Regeln.

RewriteEngine On
#rewrite http to https and add www. All cases covered
RewriteCond %{HTTPS} !^on [OR]
RewriteRule %{HTTP_HOST} ^exmaple\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

# END WordPress

  • Zu Ihrer Information, das erneute Speichern von Permalinks löscht die SSL-Regeln, wenn sie innerhalb der verwendet werden # BEGIN WordPress Block.

    – markratledge

    24. Juni 2015 um 4:46 Uhr


  • Ich habe die Regeln aus dem Block verschoben. Hatte dieses Problem jedoch nicht, so oder so sollte es das Problem lösen.

    – Panamajack

    24. Juni 2015 um 4:51 Uhr


  • Hat immer noch nicht funktioniert. Ich denke das liegt an der Ordnerstruktur in meinem Dateimanager. Dies sind die Szenarien: Wenn ich domain.com eingebe, wird es geladen, aber CSS und JS nicht, aber wenn ich eingetippt habe domain.com alles ist gut.

    – hallo

    24. Juni 2015 um 5:17 Uhr


  • Warte, erkläre Still didn't work. Wird überhaupt umgeleitet?

    – Panamajack

    24. Juni 2015 um 5:48 Uhr

Sie benötigen 2 virtuelle Hosts, einen für Port 443 (https) und einen für Port 80. In Port 80 können Sie einfach eine Umleitungsregel für den gesamten Datenverkehr einrichten

  <VirtualHost *:80>
  ...
    RewriteEngine On
    RewriteRule .* https://www.domain.com [R=301,L]
  ...
  </VirtualHost>

Verwenden

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

RewriteCond %{HTTP_HOST} ^example\.com [NC] 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

um SSL unter allen Bedingungen zu erzwingen (mit oder ohne www).

Ändern Sie auch, wie Sie es getan haben, zu https in den allgemeinen WordPress-Einstellungen.

Unterlassen Sie fügen Sie die Erzwingungs-SSL-Regel innerhalb der hinzu # BEGIN WordPress und # END WordPress rewrite block, denn wenn Sie jemals Permalinks erneut speichern (oder sogar ein Plugin), werden Ihre SSL-Regeln gelöscht.

Verwenden Sie dann die Entwicklertools in Feuerfuchs (oder Feuerwanze) oder Chrom oder Safari oder IE um zu sehen, ob du welche hast non-secureElementfehler, z. B. von fest codierten http:// URLs in Stylesheets und functions.php-Dateien.

  • Danke @markratledge, ich habe es versucht, aber es hat immer noch nicht funktioniert. Berücksichtigen Sie die Ordnerstruktur in meinem cpanel-Dateimanager?

    – hallo

    24. Juni 2015 um 5:19 Uhr


  • OK, wenn das nicht funktioniert, liegt es an der unterschiedlichen Site-Adresse und der WordPress-Adresse. Verschieben Sie Ihre gesamte Website zum Stammverzeichnis: siehe codex.wordpress.org/Moving_WordPress und Interconnectit.com/products/…

    – markratledge

    24. Juni 2015 um 16:59 Uhr


Das ist mein letzter Ausweg für die Lösung. Ich füge einen PHP-Code in die header.php ein, der prüft, ob die eingegebene URL https ist, wenn nicht, dann leitet sie auf die URL mit https um.

<?php
    if (empty($_SERVER['HTTPS'])) {
        header('Location: https://domain.com');
        exit;
    }
?>

Danke an alle,

1256740cookie-checkWie leitet man http://domain.com auf https://www.domain.com um?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy