メールを送信する非常に単純な Magento モジュールを作成しましたが、Magento のコア メール システムは使用しません。私はajaxを使用してemail.phpにPOSTしています
これを、ローカル、開発、およびステージングの 3 つの個別の環境で忘れるまでテストしました。3つすべてで問題なく動作します。
これらの変更を 4 番目のサーバーで実行すると、すべての投稿リクエストが次のように返されます。
POST http://mydomain.com/dir/path/email.php 403 (Forbidden)
そして、すべての投稿リクエストは、私のエラーログに次のように記録します:
client denied by server configuration: /var/www/vhosts/mydomain.com/httpdocs/dir/path/email.php, referer: http://mydomain.com/myCategory/myProduct
4 つのサーバー間ですべてがまったく同じように見えます。アクセス許可と httpd.config および .htaccess ファイルを確認しました。
以下を /apps/.htaccess に追加して、すべてをライブで機能させることができますが、明らかな理由により、この方法を維持することはできません。
<Limit POST>
order deny,allow
deny from all
allow from all
</Limit>
マグネト ルートの .htaccess ファイルが原因である可能性があると考えましたが、ステージング サーバーと開発サーバーはライブ サイトのクローンです。
基本的に、サーバー側で考えられることはすべてチェックしました。私のモジュールが 3 つの別々のサーバーでは機能するのに、実際のサイトでは機能しない理由について、私は完全に困惑しています。これを引き起こしている可能性のあるファイルに関連するものはありますか? たぶんファイアウォールルール?ログ ファイルの一般的なエラーにより、トラブルシューティングが困難になっています。