admin【CakePHP3】webroot配下のディレクトリやファイルを表示する方法ツイートシェアはてブGoogle+PocketCakePHP3で画像やcssなど静的ファイルを読み込ますためにはwebroot配下に置きますが、階層を持ったディレクトリ構成を配置したい時があると思います。ファイルはデフォルトのままでも表示してくれますが、index.htmlやindex.phpのファイルにアクセスしたい場合、ディレクトリだけ指定してアクセスしたいですよね。デフォルトのままだとCakePHPのエラー画面が表示されてしまいます。そこで、「/manual/index.html」を「/manual/」のURLだけでアクセスさせる方法を紹介します。まとめ今回やりたかったこと今回やりたかったことを説明したほうがわかりやすいと思いますので、ちょっと紹介します。webroot配下に「manual/index.html」を配置しています。found.」エラーが表示されます。エラーになるこの両方のURLでもちゃんと静的ページを表示する方法になります。今回の対応で修正するファイルが1つあります。webroot配下にある「.htaccess」ファイルに一行追加します。変更前の「.htaccess」ファイル.htaccessファイルの書き方をわかる人であれば既にお気づきかと思いますが、デフォルトのママだとファイルが存在するかしかチェックしていません。[L]</IfModule>つまりファイルが存在するかはチェックしているのですが、ディレクトリが存在するかはチェックしていないのです。変更後の「.htaccess」ファイル下記のようにディレクトリの存在チェックをするように変更してあげます。[L]</IfModule>これだけで先ほどの問題は解決できます。スポンサーリンク「.htaccess」ファイルを修正後の注意点ディレクトリの存在チェックを追加することで1点注意すべき点があります。indexアクション」は避けるということです。あるのが管理画面を設けるためにwebroot配下に「admin」ディレクトリを作成して、管理画面で使用するファイルをその中に入れた場合に不具合が起こります。CakePHPで管理画面をつくると基本「Admin」でControllerをつくると思います。すると、「コントローラー名:AdminController、アクション名:index」にしてしまうと、webroot配下にController名と同じディレクトリがあるため、ディレクトリを先に読みにいってしまいます。webroot配下に設置するディレクトリ名と同じ名前のControllerがある場合は、どちらかを違う名前にしておく必要があります。まとめCakePHP2の場合は、ディレクトリチェックまで記述されていましたが、Cakephp3から無くなっているようです。今まで出来ていたのにCakePHP3からできなくなった?と思われた方もいるんではないでしょうか。「.htaccess」ファイルを修正することで今回の問題は解消できますが、ディレクトリ構成によっては不具合が発生する可能性もあるので、注意しましょう。コメントをキャンセルメールアドレスが公開されることはありません。date*日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)【CakePHP3】階層を持った静的ファイルにアクセスするとURLにwebrootが付与されてしまう現象の対処方法Eclipseを解凍したらエラーが発生した!起動しない時の対処方法RECOMMENDこちらの記事も人気です。