DreamHost共有ホスティングにWebアプリをデプロイしました。
jquery.timeago.pl.js
(jQuery timeagoプラグインのロケール構成)と呼ばれるJavaScriptファイルの1つで「500内部サーバーエラー」が発生しました。error.log
エントリは、「suexecポリシー違反」と述べました。手がかりを探していると、DreamHostでPerlスクリプトに関連する同様の問題があることがわかりました。問題に関連するものは何もありませんが、ファイル名から.pl
を削除しましたが、うまくいきました!
質問は次のとおりです-この「suexecポリシー違反」を回避する別の方法はありますか?私のソリューションは機能しましたが、それで問題ありませんが、環境設定のためにファイル名を適応させることは確かに良い考えではありません。
残念ながら、この種の状況では、ポリシーまたは設定を変更するために実際にできることは何もありません。ファイル名から.pl
を削除することに関するコメントのフィードバックに基づいて、suexecフィルターがPerlスクリプト拡張子の存在についてファイル名をチェックしているように聞こえます(Perlは.pl
ファイル拡張子を持つファイルを実行します)しかし、何らかの理由で、このチェックでは実際のPerlファイルからjqueryプラグインファイルを伝えるのに十分ではありません。ファイル名から.pl
を削除し、そのファイルへのすべてのコード参照をリファクタリングする以外には、他にできることはあまりありません。
一般に、jqueryプラグインの存在を確認するとき、ファイル名を変更しても問題はないはずであると言って、プラグインがjqueryの下にアタッチされているかどうかを確認し、javascriptファイルがファイル名としてDOMに追加されるものは何でもかまいません。