エス技研

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.

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

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

  関連記事

CakePHP 2.x系 Viewでのコメントの記述方法など

CakePHPにおいて View、ctpファイルでコメントを記述する方法を解説。

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

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

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

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

CakePHP3でkeywords、DescriptionをHTMLヘルパーを使って設定する
CakePHP3でkeywords、DescriptionをHTMLヘルパーを使って設定する

CakePHP3のkeywordsとdescriptionを設定する方法の解説。CakePHP3にはmetaタグを編集するHTMLヘルパーが用意されているためそれを利用すればOK!ポイントはブロック化を有効にすること。

CakePHP3のタイムゾーンを協定世界時UTCから日本標準時間JSTにずれを変更する方法
CakePHP3のタイムゾーンを協定世界時UTCから日本標準時間JSTにずれを変更する方法

CakePHP3の標準設定のタイムゾーンは「UTC(協定世界時)」に設定されている。これを日本標準時に変更する方法(app.php、bootstrap.phpの変更方法)の解説。

CakePHP3のバージョンを指定してインストールする詳細な手順を解説
CakePHP3、CakePHP4のバージョンを指定してインストールする詳細な手順を解説

CakePHP3のバージョンを指定してインストールする方法を詳細解説。CakePHP3のインストールはComposerを使うため設定もほぼ自動で完了。データベースの接続情報を記載すればアプリ開発のベースが整う。

CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法
CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法

CakePHP3のブックマークチュートリアルには記載ミスもあり、そのまま動かない個所もある。CakePHP3では namespaceを使うようになったので、classを呼び出すときに¥を追加する必要が!

CakePHP3のプラグイン「CakeDC/Users」を日本語化・翻訳ファイルもダウンロード可
CakePHP3のプラグイン「CakeDC/Users」を日本語化・翻訳ファイルもダウンロード可

CakePHP3のユーザ管理、ログイン認証プラグインである「CakeDC/Users」のメッセージを日本語にする手順の解説とともに、日本語の翻訳ファイルを提供。ファイルを設置すれば日本語になる!

CakePHP3でユーザ定義の定数、変数を設定し、読み込む方法解説
CakePHP3でユーザ定義の定数、変数を設定し、読み込む方法解説

CakePHP3で定数や共通で使う変数をまとめて設定し、プログラム内で読み込む方法を、bootstrap.phpに直接記述する方法と定数ファイルを分ける方法の3つの方法で解説。

CakePHP3で「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」などのエラーが出たときの確認するポイント
CakePHP3で「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」などのエラーが出たときの確認するポイント

CakePHP3の開発で発生する「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」のエラーには特有の原因もあるため、その説明と対処方法の解説。