Drupal 7:HTTPS提交按钮转到HTTP页面,然后重定向到HTTPS

时间:2019-05-23 11:40:09

标签: http https drupal-7

我有基于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');

2 个答案:

答案 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页面”选项。