【问题标题】:OpenCart Journal2 admin panel not loadsOpenCart Journal2 管理面板未加载
【发布时间】:2018-04-19 11:50:35
【问题描述】:

在我的 OpenCart 安装中使用 Journal2 主题/插件从 HTTP 更改为 HTTPS 后,我遇到了问题 - Journal2 的管理面板未加载,显示“正在加载...”状态,仅此而已。

Journal2 version = 2.13
OpenCart version = 2.3.0.2
Current stack: PHP 7 + Apache2 + MySQL

同时添加截图。

什么坏了?我已在管理面板中将网站 url 从 http:// 更新为 https://,还更新了

中的变量
config.php 

/admin/config.php 

文件。也许缓存有问题?

【问题讨论】:

    标签: php https apache2 opencart


    【解决方案1】:

    请检查这两个配置文件是否正确配置数据库和文件夹。

    你还需要检查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;
        }
    
        if ($args) {
            if (is_array($args)) {
                $url .= '&' . http_build_query($args);
            } else {
                $url .= str_replace('&', '&', '&' . ltrim($args, '&'));
            }
        }
    
        foreach ($this->rewrite as $rewrite) {
            $url = $rewrite->rewrite($url);
        }
    
        return $url;
    }
    

    希望对你有帮助。

    【讨论】:

    • 我已经重新检查了两个配置文件(在管理员和根文件夹中),两者都是正确的。我从 phpinfo 页面获取的根路径,它们是相同的(正确的),数据库的凭据也正确,因为网站工作,管理面板工作,但“Journal2”的菜单不起作用:(
    • 你检查过 url.php 文件吗?
    • 是的,有了这个文件一切都好,我什至用你上面的例子稍微改变了它,但没有帮助
    【解决方案2】:

    您是否为使用 SSL 正确配置了您的网站?让我们在这里回顾一些事情:

    1. 听起来不是重复的,但是您确定您的两个配置文件都正确吗?当您说您从某个页面获取“根路径”时,不确定您之前的意思,因为它几乎是任何人都会访问您的站点/商店的 URL。我假设您的商店/opencart 在它自己的文件夹中,而不是在根目录中,是吗?如果是这样:

    admin/config.php 文件应该是这样的:

    // HTTP
    define('HTTP_SERVER', 'http://www.yourwebsite.com/opencart/admin/');
    define('HTTP_CATALOG', 'http://www.yourwebsite.com/opencart/');
    
    // HTTPS
    define('HTTPS_SERVER', 'https://www.yourwebsite.com/opencart/admin/');
    define('HTTPS_CATALOG', 'https://www.yourwebsite.com/opencart/');
    

    config.php 文件应该是这样的:

    // HTTP
    define('HTTP_SERVER', 'http://www.yourwebsite.com/opencart/');
    
    // HTTPS
    define('HTTPS_SERVER', 'https://www.yourwebsite.com/opencart/');
    

    根据我过去的经验,正斜杠最后很重要。

    1. 另外,如果您的 url 是:yourwebsite.com 与 www.yourwebsite.com,这也很重要。

    2. 说到这...你的 .htaccess 文件怎么样?这也可能是罪魁祸首。我指的是根目录的 htaccess 文件,而不是 opencart 的 htaccess。这可能需要正确更改为 https。举个例子:

    Options +FollowSymlinks
    
    RewriteEngine on 
    RewriteCond %{SERVER_PORT} 80 
    RewriteRule ^(.*)$ https://www.yourwebsite.com/$1 [R,L]
    RewriteCond %{HTTP_HOST} ^(www.)?yourwebsite.com$ 
    RewriteCond %{REQUEST_URI} !^/opencart/ 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ /opencart/$1 
    RewriteCond %{HTTP_HOST} ^(www.)?yourwebsite.com$ 
    RewriteRule ^(/)?$ opencart/index.php [L]
    

    如果您注意到这里,您需要包括服务器端口和 https。所以也许也检查一下。

    【讨论】:

    • 感谢您的回复!问题是配置文件一切正常,它们被正确编写,包括协议。仍然没有解决这个问题,但我认为问题出在 Journal2 功能的代码中,因为 htaccess 也一切正常。 SSL 配置正确 - 整个网站都可以正常工作,它不会在任何地方显示混合内容并且证书可以正常工作。网站的 HTTPS 协议在 configs、数据库(网站 URL)和 .htaccess 中配置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-05
    • 2016-06-30
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    相关资源
    最近更新 更多