我有基于drupal 7的网站,您可以在此处查看页面:
https://www.ticketgum.com/europa-uefa-league/champions-league--final-tickets-29-May-2019
ticketgum上的所有页面均为HTTPS页面,如果您尝试转到HTTP页面,则会重定向到HTTPS。
现在有了“购买”票证表格,如果您单击“购买”,您应该重定向到HTTPS检出页面,但是drupal 7会将其重定向到检出HTTP页面,然后自动重定向到检出HTTPS页面,因此存在DOUBLE重定向,如您在附件图片中所见,我该如何防止它?并修复第一个重定向到HTTPS ...
屏幕截图:https://www.ticketgum.com/http.JPG
提交表单函数中的代码是一个简单的drupal_goto('checkout');
答案 0 :(得分:1)
您必须验证一些配置:
进入settings.php
:
$conf['HTTPS'] = true;
$conf['base_url'] = "https://www.ticketgum.com"
您也可以像这样使用drupal_goto:
drupal_goto($path, array("external" => TRUE, "https" => TRUE));
否则,您可以使用redirect
表单状态在提交后指定重定向,而可以使用drupal_goto
function YOURFORM_submit($form, &$form_state) {
$form_state['rebuild'] = TRUE;
$form_state['redirect'] = 'your_url';
}
答案 1 :(得分:0)
找到解决方案,首先使用:
drupal_goto函数以这种方式工作: drupal_goto($ path,array(“ external” => TRUE,“ https” => TRUE));
但是对于我来说,问题在于表单提交中的重定向, Drupal在url()函数中创建了HTTP url而不是HTTPS,因为我的全局变量“ insecure_url”是HTTP。
您可以在drupal管理面板中取消它,只需执行以下操作: www.domain.com//admin/config/system/securepages
,然后取消选中“在没有匹配项时切换回http页面”选项。