エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


CakePHP3のインストールでURL rewriting……のエラーが!その解決方法解説

      2017/10/28

CakePHP3のインストールは成功したけどエラー画面が出る

 

CakePHP3をインストールして出るエラーについて

 
CakePHP3をインストールは成功したはずなんだけども、下記のいつもの赤い画面が出てこない...
 
CakePHP3のインストールでURL rewriting..のエラーが!その解決方法解説
 
替わりに出てきた画面は、下記のようなエラー画面...
 
CakePHP3のインストールでURL rewriting..のエラーが!その解決方法解説
 
そんな場合の対応方法を解説します。
 
 

解決方法は httpd.confに .htaccessを有効にする設定を記述

 
まず最初に解決方法を記載しておきます。
 
viコマンドで、「httpd.conf」を開きます。
「httpd.conf」の編集は root権限が必要ですので、「sudo」コマンドを利用して、開きます。
※「httpd.conf」ファイルのパスは、サーバによって違う場合があります。
 

 
 
開いた「httpd.conf」に下記を追加します。
これを追加することで、.htaccessを有効にする、という設定です。
いくつかサブドメインがある場合は、各サブドメインごとに設定します。
追加する場所は、「httpd.conf」の一番下で OKです。
 

 
 
「httpd.conf」を更新したら、その設定を反映させるために下記のコマンドで Apacheの再起動をしましょう。
 

 
 
これで改めて CakePHP3の URLにアクセスすると、いつも見る赤い画面が表示されるでしょう。
 
 


 

CakePHP3をインストールして出るエラーの内容の確認

 
左記に画像を出していたエラーの内容ですが、下記のような内容になっています。
 

 
 
Google翻訳に突っ込んでみても、下記のような日本語になるだけで、全く意味が取れません。
 

 
 
とはいえ、「Help me configure it」の方のリンクをたどって、下記のページに行くと、サーバの設定をしたことがある方であれば、エラーの原因が理解できるでしょう。
 
原因説明の URLは、↓ここ
https://book.cakephp.org/3.0/en/installation.html#url-rewriting
 
 
エラーの原因は、「.htaccessによるリダイレクトの設定」がうまくいっていないため、このままだと正常に動作しませんよ、というエラーです。
 
そのため、「httpd.conf」に .htaccessを利用できるような設定を行うことで不具合の解消をする、という対応が必要になってきます。
 
 

URL rewriting is not properly configured on your server.

 
今回発生した、.htaccessが使える環境にないために発生する CakePHP3のエラーですが、解説はしてみたものの、この解説が読まれることはかなりまれな事象なんじゃないか、と思っています。
 
理由は、このエラーを見る方の多くは、自分でトラブルを解決できる方であろうと思うからです。
 
この不具合が起こる原因は、「.htaccessが使える環境にない」ということなのですが、そのような環境は、下記の 2つくらいじゃないかと思うわけです。
 
・レンタルサーバで .htaccessが使えないサーバ
・サーバを設定したが .htaccessを使えるようにする設定を忘れていた
 
 
前者の場合はそもそも .htaccessが使えないので、どうしようもないのですが、レンタルサーバで .htaccessが使えないサーバの場合は、そもそも CakePHP3がインストールできるとは思い難いですね。
 
後者の場合、VPSや AWS、専用サーバなどを借りて、もしくは、ローカル環境に VirtualBoxなどを立てて、そこに環境を構築しながら、CakePHP3をインストールしているんじゃないかと思います。
 
そんな感じで LAMP環境を自分で構築できるような方であるならば、メッセージの「URL rewriting is not properly configured」というあたりを読むと、「.htaccessのリライト処理が設定されていないのか!」と思い至るんじゃないかと思います。
 
 
ただ、私のように原因が分からず、小一時間も悩むような方がいた場合に解決の糸口にしてもらえれば、と思ってこの記事を書きました。
 
このエラーを見ることなく、CakePHP3のインストールがすんなり終わることを願いつつ...
 
 
そもそも「URL rewriting is not properly configured on your server.」のメッセージの前に編集されている「Please be aware that this page will not be shown if you turn off debug mode unless you replace src/Template/Pages/home.ctp with your own version.」のメッセージは、正常にインストールされても表示されているメッセージですので、ここは今回発生したエラーとは全く関係ないところなのですが、英語が苦手だとどこにエラーが書いてあるかがまずわからないですよねぇ。
 
そして、説明のサイトも英語ですし...
 
 

CakePHP3の関連記事

CakePHP4のCSS、JavaScript、画像のブラウザへのキャッシュをコントロールする
CakePHP3でレコードを保存(追加、更新、Insert、Update)する複数の方法を紹介
CakePHP3でモデルなしフォームからCSVをアップロードしレコードを更新する方法解説
CakePHP3でPHP Simple HTML DOM Parserを使ってスクレイピングする方法
CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も
CakePHP3の1対多での連携を中間テーブルを使った多対多の連携に変更するときの手順
CakePHP3でデフォルトのソート条件を設定してユーザの選択肢たソート条件を有効にする方法
CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。
CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
 
その他の「CakePHP3」に関する記事一覧
 
 

 - CakePHP 3.x 4.x

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

CakePHP3で他のテーブルのマスタテーブルからセレクトボックス(プルダウンリスト)を作る
CakePHP3で他のテーブルのマスタテーブルからセレクトボックス(プルダウンリスト)を作る

他のテーブルのマスタのレコードからプルダウンリストを作成し、選択できるようにするサンプルプログラムと解説。ORMの設定によりデータベースの値を取得し、配列を作成し optionsに与える。

CakePHP 2.3 Model、Controllerの見たい変数の中身をログ出力

CakePHPの Modelや Controllerの変数の中身をログとして出力して見る方法を提供します。

CakePHP3のメール送信の処理・テンプレート使用・添付ファイル送信も解説
CakePHP3のメール送信の処理・テンプレート使用・添付ファイル送信も解説

CakePHP3からメールを送信する方法解説。基本的な記述方法を基にして、テンプレートを使う方法、ファイルを添付する方法へと拡張しながら解説。

CakePHP3でWarning Error: SplFileInfo::openFile()エラーが発生した場合の対処方法
CakePHP3でWarning Error: SplFileInfo::openFile()エラーが発生した場合の対処方法

CakePHP3のキャッシュファイルのパーミッションエラー Error: SplFileInfo::openFile()が発生した場合の対応方法解説。app.phpにキャッシュファイルのパーミッション設定を行い、既存のファイルは削除。

Google Analytics APIを CakePHP3で動かしてレポートデータを取得する方法の解説
Google Analytics APIを CakePHP3で動かしてレポートデータを取得する方法の解説

CakePHP3で Google Analytics APIからレポートデータを取得する処理の解説。PHPのサンプルソースをCakePHP3で動くように改造。加えて、ディメンションやメトリックスを条件に設定する方法なども。

CakePHP3でモデルなしフォームからCSVをアップロードしレコードを更新する方法解説
CakePHP3でモデルなしフォームからCSVをアップロードしレコードを更新する方法解説

CakePHP3でCSVファイルをアップロードしレコードを追加、更新する処理の作成方法の解説。モデルとは直接関連しないフォームからCSVファイルをアップロードするため汎用的に使用可能。

CakePHP3にデイトピッカー jQuery UI DatePickerを実装する手順の解説
CakePHP3にデイトピッカー jQuery UI DatePickerを実装する手順の解説

CakePHP3にjQuery UIのDatePickerを実装する手順を説明。併せて、デイトピッカーを設置に関連するCakePHP3の解説と、テーマを変更したり、表記を変更するカスタマイズする方法なども紹介。

CakePHPを学ぶ際にはオブジェクト指向を学ぼう

CakePHPはオブジェクト指向で書かれていますので、CakePHPを学ぶにはオブジェクト指向も学びましょう。

CakePHP3でPHPExcelを使ってエクセルファイルを生成、出力する方法

CakePHP3でPHPExcelを利用してエクセルを編集、出力するサンプルソース+解説。PHPExcelのインストール方法の解説からファイル保存とダウンロードの方法なども解説。

CakePHPのバリデーションを入力値・項目の条件によって変える方法を解説
CakePHPのバリデーションを入力値・項目の条件によって変える方法を解説

入力された値によってバリデーション(入力チェック)の内容を切り替える。その処理をCakePHPで実装する方法を解説。条件ごとに unset関数を使ってバリデーションを削除する、という方法を採る。