エス技研

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」ファイルのパスは、サーバによって違う場合があります。
 

sudo vi /etc/httpd/conf/httpd.conf

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

<Directory "/var/www/html/cakephp3">
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

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

sudo service httpd restart

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


 

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

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

Welcome to CakePHP 3.3.14 Red Velvet. Build fast. Grow solid.

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.

URL rewriting is not properly configured on your server.
1) Help me configure it
2) I don't / can't use URL rewriting
Environment

Your version of PHP is 5.5.9 or higher (detected 5.6.29).
Your version of PHP has the mbstring extension loaded.
Your version of PHP has the openssl extension loaded.
Your version of PHP has the intl extension loaded.
Filesystem

Your tmp directory is writable.
Your logs directory is writable.
The FileEngine is being used for core caching. To change the config edit config/app.php

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

src / Template / Page / home.ctpを独自のバージョンに置き換えない限り、デバッグモードをオフにするとこのページは表示されません。
 
サーバー上でURLの書き換えが正しく構成されていません。
1)私はそれを構成するヘルプ
2)私は/ URLを書き換えることはできませんしないでください

 
 
とはいえ、「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の関連記事

CakePHPのpostlinkで生成した削除リンクをクリックしても処理が実行されない対処法
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」に関する記事一覧
 
 

 - CakePHP 3.x 4.x 5.x

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

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

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

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

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

  関連記事

CakePHP3のアソシエーション機能を使い関連レコードをまとめて削除

CakePHP3でレコードを削除する際に関連するレコードをまとめて削除する機能の解説。フレームワークのメリットを存分に発揮し、コマンドを1行追加するだけで実装可能。

CakePHP3の検索プラグイン「friendsofcake/search」の設置方法・CakePHP3.6対応
CakePHP3の検索プラグイン「friendsofcake/search」の設置方法・CakePHP3.6対応

CakePHP3で検索を担うプラグイン「friendsofcake/search」の紹介。基本的な設置方法の紹介のほか、処理の記述方法のバリエーション、エラーの解説など。CakeDC/searchより導入は簡単!

CakePHP3にデザインテンプレートBootstrapを導入する方法・friendsofcake/bootstrap-ui使用
CakePHP3にデザインテンプレートBootstrapを導入する方法・friendsofcake/bootstrap-ui使用

CakePHP3にプラグイン「friendsofcake/bootstrap-ui」、デザインテンプレート「Bootstrap」を設置する手順を解説。Bootstrapの簡単な使い方やデフォルトのデザインとの混在方法なども解説。

CakePHP3にWYSIWYGエディタのCKEditor4を設置、カスタマイズ方法を解説
CakePHP3にWYSIWYGエディタのCKEditor4を設置、カスタマイズ方法を解説

WYSIWYGエディタであるCKEditor4をCDNを利用して簡単にCakePHP3に導入する方法とカスタマイズする方法を解説。CakePHP3にはページごとの振り分けを行うブロック化を利用する。

CakePHP 2.3で saveの便利な使い方・サンプルソース付き

CakePHPのレコードを保存、更新する際に使う Saveを詳細解説します。

CakePHP3で生の SQLの実行はConnectionManagerを使う
CakePHP3で生の SQLの実行はConnectionManagerを使う

CakePHP3で生の SQL文を実行する方法を解説。クリエビルダーを使う場合は TableRegistryを利用するが、SQLを実行する場合は ConnectionManagerを使う。プリペアードステートメントの使用方法も解説。

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

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

Windows上のXAMPP環境のCakePHPのコマンド実行時に環境変数を指定する方法
Windows上のXAMPP環境のCakePHPのコマンド実行時に環境変数を指定する方法

CakePHP4のコマンド(シェル)に対して、環境変数を指定して実行する方法を解説。LinuxとWindows上のXAMPPとでは記述方法が異なるため、Windowsのsetコマンドについても詳細解説。

CakePHP4のCakeDC/Usersのログイン時のリダイレクトとユーザ権限管理の設定解説
CakePHP4のCakeDC/Usersのログイン時のリダイレクトとユーザ権限管理の設定解説

CakeDC謹製UsersプラグインのCakePHP4版の紹介。ログイン認証後にリダイレクトする先の設定方法についての解説と実運用するために必要なコツを解説。便利な仕組みも仕様の理解があって初めてうまく使いこなせる。

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

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


Warning: Trying to access array offset on null in /home/ss-giken/s-giken.net/public_html/blog/wp-content/plugins/amazonjs/amazonjs.php on line 637