レンタルサーバでEC-CUBE3でのURL設定の仕方について

少し間が空いてしまいましたが、 以前にEC-CUBE3のURL設定について記事を書きました。

amidaike.hatenablog.com amidaike.hatenablog.com

通常のURLの設定方法については、 これらの記事に記載されている通りDocumetRootを

/Applications/MAMP/htdocs/eccube/html

として設定してhttp://ドメイン名/で接続する方法であったり、 htmlというディレクトリ名を

/Applications/MAMP/htdocs/eccube/store

に変更する事でhttp://ドメイン名/storeというURLで接続可能となります。

ところが開発コミュニティーを見ると、

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=16212&forum=10&post_id=71962#forumpost71962xoops.ec-cube.net

http://(ドメイン名)/html/index.php
ではじまるものを
http://(ドメイン名)/index.php

というようにレンタルサーバで自由にDocumentRootを設定できないが、 http://(ドメイン名)/として設定したい時があります。

これらはどのように設定するかというと、 公式にはサポートされていない方法ではありますが以下のように対応する事で実現可能となります。

EC-CUBEをインストールしたディレクトリ先は /home/hoge/EC-CUBEROOT とします。

  1. インストール
    http://ドメイン名/html/install.php から普通にインストールを行ってください。

  2. ファイルの配置場所変更
    /home/hoge/EC-CUBEROOT/htmlにある以下の3つのファイル
    index.php
    .htaccess
    robot.txt
    /home/hoge/EC-CUBEROOT 直下へ移動させるかコピーしてください。

  3. index.phpの書き換え
    require __DIR__ . '/../autoload.php'; と記述されている箇所を require __DIR__ . '/autoload.php'; に変更します。

  4. path.ymlの書き換え

/home/hoge/EC-CUBEROOT/app/config/eccube/path.yml

にある

root_urlpath: /html

root_urlpath: 

に変更してください。

上記の設定を行う事で、 http://ドメイン名/ で接続できるようになります。

本来であればインストール時にそういうオプションがあれば良いんですが、 当分用意されなさそうですなので、スクリプトを作成して公開するようにします。