ECCUBEを開発環境から本番ドメインに変更でエラーが・パス変更について
2015/06/12
ECCUBE・公開しようとドメインを当てたらエラーが発生!
ECCUBEのエラーが出る状況と原因の概要解説
レンタルサーバを使って ECCUBEを構築し、本番公開する際にドメインを当てると下記のようなエラーが出て動かなくなってしまった、という場合の対処方法です。
上記の画像の値などは一部適当に加工してありますが、
「▼▼▼ デバッグ情報ここから ▼▼▼」
「▲▲▲ デバッグ情報ここまで ▲▲▲」
「システムエラーが発生しました。
大変お手数ですが、サイト管理者までご連絡ください。」
といった感じでエラーが表示されます。
原因は、共有サーバで設定していた場合のパスと、ドメインを当てた場合のパスの見え方が違ってくるためです。
より具体的な話としては、
開発中:レンタルサーバの割り当てドメインでの URL
http://s-giken.sakura.ne.jp/s-giken/html/
公開時:ドメインでの URL
http://s-giken.ne.jp/
開発中は、「開発中」の URLで開発をしていて、公開をしようとしてドメインをあてて「公開時」の URLにしたらエラーが出るようになった、というような状況です。
ドメインを設定する前に、「hosts」で設定した場合も同じ状況になります。
上記の URLを見てもらっても分かる通り、「開発中」の URLには「s-giken/html/」の部分が余計についています。
これがエラーの原因です。
ECCUBEのエラーの解消方法
ファイルが置いてあるパスが変更になりますので、ECCUBE内でこのパスが設定してある個所を変更する必要があります。
ですが、パスを変更すると ECCUBE自体が動かなくなることもありまして、管理画面から変更することはできません。
修正作業は FTPを使ってファイルの変更をすることになります。
【変更対象ファイル】
/data/config/config.php
【変更対応箇所】
|
1 2 3 4 5 6 7 8 9 10 11 |
<?php define('ECCUBE_INSTALL', 'ON'); // define('HTTP_URL', 'http://s-giken.sakura.ne.jp/s-giken/html/'); // define('HTTPS_URL', 'http://s-giken.sakura.ne.jp/s-giken/html/'); define('HTTP_URL', 'http://s-giken.ne.jp/'); define('HTTPS_URL', 'http://s-giken.ne.jp/'); // define('ROOT_URLPATH', '/s-giken/html/'); define('ROOT_URLPATH', '/'); : : : |
変更点は、上記を見てもらうと分かると思いますが、下記の様に修正を行います。
|
1 2 3 4 5 6 7 8 |
define('HTTP_URL', 'http://s-giken.sakura.ne.jp/s-giken/html/'); ↓ define('HTTP_URL', 'http://s-giken.ne.jp/'); define('ROOT_URLPATH', '/s-giken/html/'); ↓ define('ROOT_URLPATH', '/'); |
ECCUBEのエラーを解消させた後
パスの設定を変更すると、もともとアクセスしていた URLではアクセスできなくなります。
——————-
Not Found
The requested URL /s-giken/html/ was not found on this server.
——————-
アクセスすると上記のような 404エラーのページが表示されるでしょう。
これは、パスが変わるためにいずれかを選択する必要があるわけですので、致し方がないことかと思います。
ECCUBEの環境をコピーする方法
今回の記事では、ドメインを当てて本番公開をする方法の解説でしたが、公開後、プログラムをメンテナンスする際などに必要になる開発環境の構築方法、ECCUBEの環境をコピーする方法については「ファイル変更だけ!ECCUBEの本番から開発環境をコピーする手順を解説」に記事を書きましたので、あわせて確認してください。
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
路線・駅検索をPHPで実装する方法解説。GoogleMapsの緯度経度から計算し検索
路線・駅検索の仕組みの構築は大変。登録する側も最寄り駅が多い場合は大変。なので簡易に実装するため緯度経度に基づき直線距離を計算する処理を考案して実装して、その処理を解説。
-
-
リダイレクトループが原因で「ERR_TOO_MANY_REDIRECTS」「このページを表示できません」が出たときの対策12事例+α
リダイレクトループ、自動転送設定ループの原因の解説とその対応方法を含め事例 12例を挙げて説明。
-
-
ECCUBEでテンプレートファイルのファイルサイズは10MB以下のものを使用してくださいのエラーが出た場合
テンプレートをアップロードする際にファイルサイズが大きすぎてエラーが表示される際の対処方法解説。パラメータ設定で設定する制限について解説を行っています。
-
-
PHPで APIにアクセスする際などに使用する cURLのサンプルプログラム
PHPのcURLを使用して各種APIにアクセスするサンプルプログラムを作成し、その処理を解説。カオナビAPIのみならず、他の多くのAPIにアクセスする際にも使用できる。
-
-
PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法
「PHP スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。なので今も開発が続いている「PHP Simple HTML DOM Parser」をオススメする。
-
-
JSON形式の値を配列形式に変換・PHPでは json_decode()、json_encode()
JSONとは「JavaScript Object Notation」の略でテキストベースのデータフォーマット。JSONの値をPHPで配列に変換するWebツールの紹介とその処理「json_encode()」「json_decode()」関数の解説。
-
-
PHP画面が真っ白 header(“Location: $url”);
PHPの開発で header(“Location: $url”);を使うと画面が真っ白になる不具合が出る場合もあります。
-
-
include、requireのパス指定をdirname(__FILE__)、__DIR__と書く理由
include、requireのパスの指定を dirname(__FILE__)、__DIR__で記述する理由に付いて解説。相対パス、絶対パスを直書き、パスを書かない場合は何が問題かを説明。
-
-
PHPで特定の日間の日付を for、strtotimeで表示する
ある特定の間の日付の情報を for文、strtotimeを使って作成し、その解説をしています。
-
-
PHPのデバッグで使う print_r、var_dump、var_exportの動作の違い
PHPのデバッグ等で変数や配列の中身を確認するために使用する関数print_r、var_dump、var_exportの動作の違い、仕様の違いについて確認した。var_exportがオススメ。
