PHP 웹 서버에 OpenCart 2.2를 설치했으며 PHP 버전 7.0.8을 실행하는 Apache 서버에서 실행했습니다.OpenCart 2.2 설치하기 100 % HTTPS
웹 사이트가 이미 SSL 인증서가 설치되어, 나는 통해 쇼핑 카탈로그를 방문 할 수 있습니다 :
https://example.com/printshop/index.php
내가 SSL에서 실행되도록 전체 설치를 원하므로 다음과 같이 내가 관련 설정 파일을 편집 한 :
https://example.com/printshop/config.php
// HTTP
define('HTTP_SERVER', 'https://example.com/printshop/');
// HTTPS
define('HTTPS_SERVER', 'https://example.com/printshop/');
https://example.com/printshop/admin/config.php
// HTTP
define('HTTP_SERVER', 'https://example.com/printshop/admin/');
define('HTTP_CATALOG', 'https://example.com/printshop/');
// HTTPS
define('HTTPS_SERVER', 'https://example.com/printshop/admin/');
define('HTTPS_CATALOG', 'https://example.com/printshop/');
오전 데 문제는 양식 작업이 아닌 보안 URL을 가리키는 때문에 페이지가 100 % 안전하지 않습니다이다 - 예를 들면,
<form action="http://example.com/printshop/index.php?route=common/currency/currency" method="post" enctype="multipart/form-data" id="form-currency">
동일은 (그것의, 즉 행동이 아닌 https를 http로 가리키는)를 로그인 폼에 적용
https://example.com/printshop/admin/index.php?route=common/login
을 그리고 모든 페이지에서, (<div id="logo">
에서 개최) 인쇄 가게 로고 반환 사용자를 비 HTTPS 페이지로 변경하십시오.
설정 파일의 URL을 이미 변경 한 것 외에도 설치 URL을 설정할 수있는 전역 설정이없는 곳이 있습니까?
솔루션을 @Vipul Jethva의 조언에
감사를 포함하도록 업데이트, 나는 이것에 대한 해결책을 얻었다.
편집 /system/library/url.php
변경 코드에서 :
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;
}
...
}
사람 :
public function link($route, $args = '', $secure = true) {
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;
}
...
}
플러스의 루트에 config.php를 업데이트해야합니다 당신의 설치 및 admin/config.php도 https를 가리 키도록 설정하십시오.
감사합니다. @Vipul Jethva. 제안 된대로 url.php 파일을 편집했는데 일부 문제를 해결할 수 있지만 여전히 관리자 로그인 페이지로 이동하면 https://oracle101.co.uk/printshop/admin/index로 이동합니다. .php? route = common/login, 폼 동작은 여전히 http가 아닌 https를 가리 킵니다. ** admin/controller/common/login.php ** 여기서 볼 수있는 것은'$ data [ 'action'] = $ this-> url-> link ('common/login', '', true);'벌써 진실로 설정되어 있지 않습니까? Thanks – 4532066
시스템 -> liabrary-> url에서 https를 작성합니다. 조건에 https 만있는 경우. 그래서 당신은 또한 https를 else 조건으로 만들 것입니다. –
알겠습니다. 감사합니다 .-) – 4532066