我正在尝试基于Prestashop 1.6.1.7在我的网店中的每个页面上启用SSL。我打开BO中的选项(“启用SSL”和“在每个页面上启用SSL协议”),现在我无法通过http://协议(我看到白页)访问我的网上商店,只能访问https:// working。
我在.htaccess中尝试强制重定向但没有效果,它不起作用:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
or
RewriteCond %{HTTP_HOST} ^http://www.your_site.com
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [R=301,L]
我禁用了“在每个页面上启用SSL协议”选项,现在我可以通过http://访问网上商店。另外https://在订单处理和登录/注册页面上正常工作。但我希望每页都有https://。
我启用了调试模式,没有错误。
对我来说,1.7.2.0版本的工作解决方案是将重定向从http添加到https
(1)转到/classes/controller/FrontController.php
并在下面将SSL连接标志设置为TRUE
public $ ssl = false;改为public $ ssl = true;
(2)然后转到数据库并在__configuration表中找到PS_SSL_ENABLED参数并将其值从“0”更改为“1”
要看不到“白页”,请按照此处所述启用开发人员模式:http://doc.prestashop.com/display/PS16/PrestaShop's+developer+tools
并使用您看到的错误更改您的问题。
要在Prestashop网站的所有页面中启用HTTPS,请遵循以下步骤
- 找到你的.htaccess文件(通常在根文件夹中)
- 打开文件---->查找“RewriteEngine on”,如果它关闭它
- 在下面写下这个代码
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$https://yoursitename.com/$1 [R,L]
- 保存并将文件上载到相应的目录
注意:“RewriteEngine on”下可能出现额外的rewriteRule忽略在完全理解之前不要修改。
希望这有助于交配!
如果您使用的是Apache服务器,则可以在.htaccess文件中尝试以下代码来解决问题。
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
在Prestashop at Domains中以管理员身份登录在配置>商店参数>常规下的所有页面选项上启用SSL和SSL