web-dev-qa-db-ja.com

404エラーのhtaccessリダイレクトはファイル名を出力するだけで、ファイルを実行しません

Apacheホストには、/ thumbsというフォルダーがあり、その中にprogram.phpというプログラムがあります。これを使用してサムネイルを作成します。

次の行を含む.htaccessファイルがあります。

 options -indexes 
 errordocument 404 program.php 

発生するはずですは、/ thumbs/image1.jpgを呼び出すときに、program.phpを実行する必要があるということです。

実際に発生するは、ブラウザがプログラムの名前をエコーするであるということです。 /thumbs/image1.jpgを呼び出すと、ブラウザに次のように表示されます。

 program.php 

コードは実行されません。

私は他の多くのサイトでこの手法を使用し、機能しましたが、今回は機能しませんでした。

なぜこれが当てはまるのか誰か知っていますか?

2
Andrew Swift

ErrorDocumentディレクティブは、構文に応じていくつかの方法で使用できます。ファイルを希望どおりに実行するには、DocumentRootを基準にしたフルパスを使用し、その前に/を付ける必要があります。それ以外の場合は、表示される文字通りのメッセージと見なされます。これが、あなたに起こっていることです。

これを試して:

 ErrorDocument 404 /thumbs/program.php

詳細はこちら: http://httpd.Apache.org/docs/2.2/mod/core.html#errordocument

4
Jeff Snider