現在、.htaccessファイル内にErrorDocumentディレクティブが定義されています。
ErrorDocument 404 /site/error.php
これで、自分のサイトにこのような存在しないページに移動すると、正常に機能します。
http://mysite.com/p
ただし、存在しないディレクトリに移動しようとすると、ディレクティブが機能しません
http://mysite.com/random/hello
ドキュメントを見つけようとします:
http://mysite.com/random/site/error.php
もちろん存在しません。私はオンラインで検索しましたが、すべてのソースは、上記の2番目の例が正しいファイルに移動する必要があることを示しています(ディレクティブの先頭の/がWebルートを基準にしているため)が、そうではないようです。
私はUbuntuで実行しています、ありがとう!
.htaccessファイルは、要求されたディレクトリに関連して評価されます。これは、メイン構成内の<Directory >
ブロック内のディレクティブにも当てはまります。
最も簡単な解決策は、ErrorDocument
ディレクティブを.htaccessファイルではなくメインのApache構成に移動することです。
すべてのモジュールを無効にしてみてください。 Apache2ctl configtest
をお試しください。 Apache2.confを投稿してください。