私はPHPでCMSを書いていますので、ユーザーはアプリケーションを中断することなくルートフォルダの名前を変更することができます。現在、ディレクトリ固有の.htaccessファイルを使用して、カスタムエラーページのファイル処理を設定しようとしています。ErrorDocumentと.htaccess
MAMP >
| htdocs >
| | cms >
| | | .htaccess
| | | index.php
| | | cms_files >
| | | | info.json
| | | | . . .
| | | | error_pages >
| | | | | errors.php
| | | | |
私は「CMS」標識さてきたフォルダを変更することができなければならないのに対し次のように私のファイルツリーは比較的です。
私の問題は、私の.htaccessファイルで、私はErrorDocument 404 /cms/cms_files/error_pages/errors.php
を使用しています。その文書のエラーコードを処理しています。正常に動作します。しかし、私が言ったように、私はErrorDocumentファイルのパスを壊さずに 'cms'の名前を変更できる必要があり、私の検索するオンラインのすべてから私は相対パスを設定することができるものを見つけるように見える.htaccessは、現在のディレクトリに関連しています。
基本的に私は、ルートフォルダをハードコーディングを避けるために
ErrorDocument 404 CURRENT_DIRECTORY/cms_files/error_pages/errors.php
ような何かをできるようにしたいと思います。
これを行う簡単な方法はありますか?または.htaccessの代わりにphpだけを使用する別のオプションですか?前もって感謝します!
p.s. .htaccessファイルとerror_pagesフォルダは、複数のcmsインストールを作成する場合はそれぞれのディレクトリに置かなければなりません。すべてのインストール固有の情報が1つ(この場合は 'cms')のフォルダに含まれている必要があります。これは、フォルダが破損することなく名前を変更できる必要がある理由に関する別の注意点です。 Apacheのマニュアルによれば、それは単にサポートされていない相対パスのように見える
ありがとうございます。ネイティブの方法はありませんが残念ですが、余分なファイルを作成しなければならないかもしれないと考えています。雑多なファイルを持たないことを願っていましたが、唯一のオプションは、私はそれが唯一のオプションだと思う。再度、感謝します! –