以下内容应该可以解决您可能遇到的几个HTTPS问题。这些设置与Secure Pages一起使用。
- 当Secure Pages将网站从http://www.example.com切换到https://www.example.com时,匿名用户会丢失购物车内容
- 当用户点击Cart Block上的Check Out按钮或Checkout Link时,页面刷新,用户不会被重定向到购物车/结账
修改.htaccess文件
如果您希望用户始终重定向到http://www.example.com和https://www.example.com并且您为www设置SSL证书,请取消注释(删除#infront of these lines)这些行.example.com的
#RewriteCond %{HTTP_HOST} !^www\. [NC] #RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
如果您希望将用户始终重定向到http://example.com和https://example.com,并且为example.com设置SSL证书,请取消注释(删除#infront of these lines)这些行
# RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] # RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
如果在进行上述更改后仍然存在问题,请尝试这些修改以及上述修改。
修改位于sites / default / settings.php中的settings.php文件
编辑settings.php文件时,您可能必须更改文件的权限以覆盖它,然后将它们更改回原来的状态。我的默认设置为444,因此必须将它们更改为755进行编辑,并在编辑后恢复为444。
在文件的末尾添加以下行。
$conf['https'] = TRUE;
此修改取自https://www.drupal.org/https-information
Drupal配置
如果要支持混合模式HTTPS和HTTP会话,请打开sites / default / settings.php并添加$ conf ['https'] = TRUE;。这使您可以通过HTTP和HTTPS使用相同的会话 - 但是使用两个cookie,其中HTTPS cookie仅通过HTTPS发送。您需要使用像securepages这样的贡献模块来执行此模式的任何有用操作,例如通过HTTPS提交表单等。虽然您的HTTP cookie仍然容易受到所有常见攻击,但被劫持的不安全会话cookie只能用于获取对HTTP站点的经过身份验证的访问。它在HTTPS站点上无效。这是否是一个问题取决于您的站点需求和各种模块配置。例如,
如果您仍然遇到购物车清空问题而没有重定向到购物车/结帐匿名用户使用这些额外的修改。
如果您不使用子域,并将用户重定向到www.example.com,请更改以下行$cookie_domain = '.example.com';
至
$cookie_domain = 'www.example.com';
如果您不使用子域,并将用户重定向到example.com,请将以下行更改 为$cookie_domain = '.example.com';
$cookie_domain = 'example.com';
如果你想看到它在行动中,我在http://www.ubercartdemo.com上设置了上述修改。
评论