SSL in opencart 2.2 big fix

1
Deze tekst is geschreven door meneer victorj op het opencart forum. Ik ben persoonlijk 3 dagen bezig geweest om ssl te fixen in mijn opencart installatie. Er zit een error in opencart 2.2 waardoor de normale installatie van ssl niet werkt. Alle handleidingen geven aan dat het met 2 stappen moet werken terwijl dit niet het geval is. Lees hier de stappen die je moet ondernemen om je shop van ssl te voorzien in opencart 2.2
Let op dit geld alleen voor opencart 2.2.0.0 en is niet getest op andere versies.

Opencart 2.2.0.0 is niet even zomaar onder ssl te zetten, althans niet zoals we dat gewend waren.

Voor iedereen die daar mee zit te tobben, hier de benodigde stappen.

in de admin shop configuratie tabje server ssl op aan zetten

neem een redirect op in de .htaccess die de site onder https forceerd, er zijn server afhankelijk een aantal methodes
Uiteraand vervang je domeinnaam door je eigen domeinnaam, eventueel aangevuld met www.

Deze werkt goed in sites die cpanel hebben
direct na:

Code: Selecteer alles

Options +FollowSymlinks
invoegen

Code: Selecteer alles

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://domeinnaam.nl/$1 [R=301,L]
werkt die niet dan kun je deze proberen op dezelfde plaats

Code: Selecteer alles

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} store 
RewriteRule ^(.*)$ https://domeinnaam.nl/store/$1 [R,L]
config bestand in de root

Code: Selecteer alles

// HTTP
define('HTTP_SERVER', 'https://domeinnaam.nl/');

// HTTPS
define('HTTPS_SERVER', 'https://domeinnaam.nl/');
in het bestand config.php in de map admin ulrs aanpassen:

Code: Selecteer alles

// HTTP
define('HTTP_SERVER', 'https://domeinnaam.nl/admin/');
define('HTTP_CATALOG', 'https://domeinnaam.nl/');

// HTTPS
define('HTTPS_SERVER', 'https://domeinnaam.nl/admin/');
define('HTTPS_CATALOG', 'https://domeinnaam.nl/');
bestand system/library/url.php

zoek de volgende code

Code: Selecteer alles

public function link($route, $args = '', $secure = false) {
        if ($this->ssl && $secure) {
            $url = 'https://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
        } else {
            $url = 'http://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
        }
verander de hppt naar https zodat het er zo uitziet

Code: Selecteer alles

public function link($route, $args = '', $secure = false) {
        if ($this->ssl && $secure) {
            $url = 'https://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
        } else {
            $url = 'https://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
        }
In de admin krijg je dan nog een foutmelding bij het veranderen van een order status.

Om de order edit goed te krijgen, open het bestand admin/controller/sale/order.php aangepast

regel 850 zoek

Code: Selecteer alles

$data['store_url'] = $this->request->server['HTTPS'] ? str_replace("http", "https", $order_info['store_url']) : $order_info['store_url'];
veranderd in

Code: Selecteer alles

$data['store_url'] = $this->request->server['HTTPS'] ? preg_replace("/^http:\/\//", "https://", $order_info['store_url']) : $order_info['store_url'];
Bijenwas kopen
Bijenwas korrels
Bijenwas doeken

Re: SSL in opencart 2.2 big fix

2
Beste,

Is dit probleem inmiddels al verholpen? Mocht dit niet het geval zijn kun je mij een privé bericht sturen dan kunnen we je wellicht hiermee helpen. Wij hebben ruime ervaring met opencart.

Mvg,
HostingIP