2

Drupal サイト (コードと DB の両方) を完全に移行しました。

一見したところ、サイトは正常に動作します。すべてのページとページ コンテンツが完全に利用可能です。

しかし、すべての POST フォームが機能するわけではありません。フォームフックにテストメッセージを入れてみました。フォーム生成は正常に機能しますが、検証フックと送信フックの両方が呼び出されませんでした。

さらに、すべての標準フォーム (サインアップ フォームなど) も機能しません。

フォームフィールドを送信した直後に、エラーや警告なしで空になります。

環境間のすべての違いは次のとおりです。

  1. PHP のバージョン。(PHP 5.4 から PHP 5.5 へ)
  2. サーバー上の別のパス
  3. 別のドメイン名 (dev/staging)

確信はないけど。私は何か他のものを逃したかもしれません。

この問題を引き起こす可能性のあるアイデアはありますか?

4

1 に答える 1

5

さて、問題の理由は非常に単純であると同時に混乱を招きました。

これは Drupal の問題ではなく、Apache Web Server の非常に奇妙な動作です。

mod_rewrite は Apache 設定で無効にされていました (残念です)。しかし、この事実にもかかわらず、Apache がすべてのリダイレクトを管理していたため、ページは正しいコンテンツを返していましたが、404 応答コードが返されていました! 空の POST が発生し、その結果、フォームが壊れていました。

なぜ Apache がこのように動作するのか、いまだに理解できません... とにかく、問題は解決しました。

于 2013-11-14T22:38:48.110 に答える