我已经在我的opencart网站上安装了ssl证书,但有些网页可以正常使用https,但类别页面无法使用https。我是否还需要更改数据库中的所有网址?在配置文件中,我已经设置了https。
答案 0 :(得分:2)
其中一些可能不适用于您的特定安装,但为了创建一个全面的答案,我试图涵盖所有基础:
注意:您可能需要根据商店的表格前缀调整表格名称,如果它们不是以oc_
开头
config.php
和admin/config.php
并将所有常规网址声明更改为https - 确保包含HTTP_SERVER
和HTTP_CATALOG
system > settings
,点击edit
,然后点击server
表格集Use SSL:
至Yes
。store_url
表中的oc_order
列,以便所有链接都是https。这很重要,因为如果api尝试访问您网站的http版本,更新订单可能会失败。您可以使用此查询:UPDATE oc_order SET store_url = REPLACE(store_url, 'http:', 'https:')
oc_product_description
,oc_category_description
以及您可能已创建html内容的任何其他表格。http://
和footer.tpl
中为初学者找到硬编码的header.tpl
链接和图片是相当常见的。您只需浏览您的网站,看看是否有任何网页未在浏览器中显示绿色锁定图标,并从那里获取。oc_modification
表中的ocmod存在于OC2中。.httaccess
中创建一个重定向,以便让流量知道您的网页现在可以在https上找到。我已经排除robots.txt
以及openbay路由的任何连接,因为根据经验,当我尝试重定向ebay webhook时,它破坏了一些东西,它们似乎只是默认情况下http
。我怀疑这可能是openbay如何处理这些请求或者可能是配置问题的一个缺点,但我无法找到一个没有打破openbay的解决方法,所以现在我建议不要触及这些请求。我在.htaccess
:RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !/robots\.txt$
RewriteCond %{QUERY_STRING} !^route=ebay/openbay/*
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
应该这样做!