エラーハンドラの指定先をIIS/Apacheのルート内のファイルにする場合

ColdFusion Administrator の [サーバーの設定] >「設定」の『エラーハンドラ』に指定するファイルについては、以下のルールによって配置してください

  1. ColdFusionに同梱されている内部WebサーバーのWebルート内([cf_root]/cfusion/wwwroot 以下)にエラーハンドラに指定するファイルを配置します
  2. Webルートからの相対パス(/から始まるパス)”を指定します
  3. 指定可能な拡張子は cfm,cfml,htm,html となります

    .htmや.htmlを指定した場合でも、ファイル内にCFタグが含まれているとCFの処理が実行されます。不要なCFタグはエラーが発生する原因になりますため削除してください

ただし、ColdFusion11までは、”1.”については IISやApacheのWebサーバーのWebルート内でもファイルを指定することができました。ColdFusion 11までは ColdFusion Administrator へのアクセスが IIS/Apacheを経由して行えたため、IIS/Apacheを利用しているユーザーはColdFusionの内部Webサーバーを使用する必要は必須ではなかったためです。

ColdFusion 2016 以降、セキュリティが強化されたことによりIISやApacheを経由しての ColdFusion Administrator へのアクセスが行えないように制限されています。そのため、ColdFusion 2016 以降は IISやApacheを利用している・いないに関わらず、常に内部Webサーバーが起動されるようになりました。そのため、“IISやApacheを利用しているリクエスト”も“内部Webサーバーを使用しているリクエスト”でも共通でエラーハンドラを呼び出すことができるよう、ファイルの指定先を内部Webルート内に配置します。

もし、内部Webルート以外の場所に置かれているファイルを指定したい場合は、ColdFusion Administratorの [サーバーの設定] >「マッピング」を設定して、エラーハンドラ指定用のマッピングを行ってください。

【参考手順】

  1. ColdFusion Administratorに [サーバーの設定] >「マッピング」ページを開きます
  2. 『ColdFusion マッピングの追加 / 編集』の入力欄に下記を指定します
    • 論理パス: / から始まる任意のパス名( 例: /error )
    • ディレクトリパス: 対象のファイルが置かれているディレクトリ、またはその上位のディレクトリ
  3. [マッピングの追加]ボタンを押し、上記2.の指定した内容が「アクティブな ColdFusion マッピング」の一覧に追加されることを確認します
  4. [サーバーの設定] >「設定」ページに移り、『エラーハンドラ』の設定で、上記2.で指定したマッピングを使用して、ファイルへのパスを指定します
    • 設定例: /error/error.cfm
  5. [変更の送信]ボタンを押します。ファイルパスのチェックが行われますので、正常に終了(ファイルが見つからないエラーメッセージが出ない)した事を確認します
  6. エラーが発生した際に指定したファイルが呼び出されているかを確認します

    『ColdFusion マッピング』のページにも説明がありますが、マッピングの設定は、IISの「仮想ディレクトリ」やApacheの「エイリアス」とは異なり機能しません。例えば、エラーハンドラで呼び出すファイル内の画像やCSSのパスに「マッピング」で使用した『論理パス』を使用しても動作しません。そのような場合は、Web サーバー側で仮想ディレクトリやエイリアスの設定を追加してください

     

 


記事公開日:2019年12月13日
最終更新日:2019年12月13日


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.