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
Code: Selecteer alles
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://domeinnaam.nl/$1 [R=301,L]
Code: Selecteer alles
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} store
RewriteRule ^(.*)$ https://domeinnaam.nl/store/$1 [R,L]
Code: Selecteer alles
// HTTP
define('HTTP_SERVER', 'https://domeinnaam.nl/');
// HTTPS
define('HTTPS_SERVER', 'https://domeinnaam.nl/');
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/');
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;
}
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;
}
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'];
Code: Selecteer alles
$data['store_url'] = $this->request->server['HTTPS'] ? preg_replace("/^http:\/\//", "https://", $order_info['store_url']) : $order_info['store_url'];