将 http 更改为 https 后,opencart 管理员无法正常工作
Posted
技术标签:
【中文标题】将 http 更改为 https 后,opencart 管理员无法正常工作【英文标题】:opencart admin not working after change http to https 【发布时间】:2016-09-06 07:35:14 【问题描述】:我是 opencart 的新手。我想在 opencart 中启用SSL
。
所以我尝试更改以下文件。
config.php
文件更改
// HTTP
define('HTTP_SERVER', 'http://example.com/');
// HTTPS
define('HTTPS_SERVER', 'https://example.com/');
admin/config.php
文件更改
// HTTP
define('HTTP_SERVER', 'http://example.com/admin/');
define('HTTP_CATALOG', 'http://example.com/');
// HTTPS
define('HTTPS_SERVER', 'https://example.com/admin/');
define('HTTPS_CATALOG', 'https://example.com/');
system/library/url.php
文件更改(第 16 行)
public function link($route, $args = '', $secure = true)
.htaccess
将更改放在代码后面。
RewriteEngine On
RewriteCond %HTTPS off
RewriteRule (.*) https://%HTTP_HOST%REQUEST_URI [R,L]
管理面板更改`设置>服务器>使用SSL设置是'
以上更改后我无法登录管理面板不显示任何错误消息。
【问题讨论】:
【参考方案1】:在根目录和 admin 文件夹中编辑 config.php 文件以指向 https url 和 .htaccess 文件。
也在system/config目录中
分别是2个文件:
admin.php(用于后台管理)
找到
$_['site_ssl'] = false;
改成
$_['site_ssl'] = true;
与文件 catalog.php 相同(用于前端)
【讨论】:
【参考方案2】:您错过了管理员网址的 https。
在admin/config.php
中更改以下值
define('HTTPS_SERVER', 'http://example.com/admin/');
define('HTTPS_CATALOG', 'http://example.com/');
到
define('HTTPS_SERVER', 'https://example.com/admin/');
define('HTTPS_CATALOG', 'https://example.com/');
【讨论】:
前端页面一切正常吗? 是的,但无法进行管理员登录 是否会显示管理员登录页面并且其表单操作具有 https url ?也让我们知道你为什么改变:system/library/url.php file change (line : 16)
.
谢谢您的最后建议。登录表单操作没有 https url,但我尝试在其工作后手动替换。我如何从操作网址更改?我从某个地方得到了解决方案,这就是为什么我试图更改 url.php
。
尝试将管理员和前端的所有配置文件 URL 更改为 https。【参考方案3】:
转到根文件夹点击系统然后转到配置,突出显示 admin.php,然后编辑它...确保站点 ssl 为 true
【讨论】:
【参考方案4】:使整个网站采用 SSL,这是现在的趋势(如 amazon.co.uk 等),并提供一点 SEO 提升。我必须将 http_server 设置为 https。除此之外:
OpenCart 1.5 的 https
在设置/系统/服务器中开启 检查 admin/config.pgp 和 config.php 是否设置了正确的 SSL url
在 config.php 中设置 http_server 设置 - 通常并且应该是 http。当设置为 https 时,似乎可以对其进行排序。
所以在 config.php 我现在有了
<?php
// HTTP
define('HTTP_SERVER', 'https://www.example.com/');
所以现在当我在 http:// 页面中“查看源代码”并搜索任何对 http:// 的引用时,我没有得到任何回报。
【讨论】:
【参考方案5】:很容易解决这个问题。在系统/库/url.php
改变
if ($connection == 'NONSSL')
$url = $this->url;
else
$url = $this->ssl;
到
$url = $this->ssl;
这会强制所有链接使用 https
【讨论】:
【参考方案6】:在管理页面中创建新的 .htaccess 文件,其中仅包含以下代码:
RewriteBase /
【讨论】:
以上是关于将 http 更改为 https 后,opencart 管理员无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
使用 jQuery 将 iframe 源从 HTTP 更改为 HTTPS
为WCF服务启用HTTPS流量。将流量http更改为https的问题
http | https NodeJS模块将目标网址更改为http,导致重定向[关闭]