使用drupal

分類:實用技巧 時間:2017-09-30

百度MIP我們也使用有一段時間了,現在開始有一點收錄和流量,以前遺留的一些技術問題也需要去解決,包括表單Post方式提交後跳轉網址不對的問題。

前面記錄了一篇《 AMP表單Post方式提交後不能跳轉的問題及解決辦法 》,Drupal中的搜索功能以前用AMP一樣的辦法:改表單為Get提交方式來實現Drupal中的正確跳轉,對於聯系我們、頁面留言都還沒有太關註,剛才看是可以跳轉的,只是沒有跳轉到對應的mip頁面,而是跳轉到對應的web頁面。

AMP解決後,我去查了百度MIP官方網站中關於 mip-form 的文檔,寫得非常簡單,沒有說到需要改Header中用專用語句來實現跳轉,網上也沒有相關其它資料,那麽我只需要修改跳轉到的語句是對應的mip頁面就可以了。

用Drupal中自定義模塊的鉤子函數 hook_drupal_goto_alter 可以實現,代碼如下:


function jamesqi_drupal_goto_alter(&$path, &$options, &$http_response_code) {
  $options['absolute'] = TRUE;
  $url = url($path, $options);
  global $theme;
  if ($theme == 'ampsubtheme_example') {
    $server_name = $_SERVER['SERVER_NAME'];
    header("AMP-Access-Control-Allow-Source-Origin: https://$server_name");
    header("AMP-Redirect-To: $url?amp");
    header("Access-Control-Expose-Headers: AMP-Redirect-To, AMP-Access-Control-Allow-Source-Origin,Access-Control-Allow-Origin");
echo json_encode(array("AMP-Redirect-To: $url?amp"));
    die();
  } elseif ($theme == 'mipsubtheme_example') {
    $options['query'] = array('mip'=>'');//添加查詢參數mip
  }
}

這個已經在我的博客中修改可用了,後面再推廣到其它系列網站。

自由標簽:


Tags: 表單 提交 頁面 沒有 AMP-Access-Control-Allow-Source-O quot

文章來源:


ads
ads

相關文章
ads

相關文章

ad