バージョン選択

フォーラム

メニュー

オンライン状況

59 人のユーザが現在オンラインです。 (43 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 59
もっと...

サイト内検索

質問 > その他 > /html/を省略する方法について

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
popo
投稿日時: 2008/10/11 21:07
対応状況: −−−
長老
登録日: 2008/10/1
居住地:
投稿: 189
/html/を省略する方法について
お世話になっております。

デフォルトの状態で設置しており、「html」ディレクトリと「data」ディレクトリが同じ階層に設置してあり、サイトのトップページが「http://hoge.hoge.com/html/」になっております。

このサイトのトップアドレスを「http://hoge.hoge.com」にしたいと思っていますが、htaccessで制御する事はできますでしょうか?
またhtmlディレクトリの中のファイル全てを、htmlディレクトリの外に出した場合(「data」ディレクトリと同じ階層)、どのように設定を変更したりファイルを書き換えたら良いでしょうか?

ファイルの移動なしで、htaccessでRewriteRuleの記述だけでアドレスを変更できれば良いと思っているのですが、アドバイスを頂けたら助かります。

よろしくお願い致します。
tonton
投稿日時: 2008/10/12 11:36
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: /html/を省略する方法について
私も最初、これ、悩みました;
なんで、/html/なんだろう?って。
でも、よく見ると、ちゃんと定義ファイルがあります。
.HTACCESSを使用して、というのは、システムエラーがどこで出るか、でないか、という検証が他のバグなどと相まって難しくなりそうなので、私は使用していませんため、分かる部分のみご回答しますね。
以下、説明です。


この、/html/と/data/が同階層に有るというのは、
・/html/  ←WEBの公開領域
・/data/  ←WEBの公開領域と同階層(=公開領域外)
になるようデータを配置するようになっているのだと思います。

DETA領域はテンプレートなどが入っているので、一般のユーザーから覗けない領域に配置するという考えからでしょう。
EC-CUBEの構成をそのまま使用する場合は、このように設置すればいいことになります。


ですので、そのまま配置するときは、
・/html/以下は、ファイルだけを公開領域に(public_htmlとかwebとか言う名称のWEBサイトのルートディレクトリ)
・/data/は、その1つ上に(=/html/以下のファイルと/data/が同階層になるように)
おけば、いいことになります。


もし、WEBの公開領域より上の階層にアクセスする権限が与えられていない(または、ファイルを保存してはいけない)レンタルサーバーの場合は、

1)/html/以下は、WEBの公開領域に入れる
2)/data/をフォルダごと、その中に入れる
3)/WEBルート(=/html)/define.php の2行目〜6行目(Ver.2.3の場合で)
---------------
/** HTMLディレクトリからのDATAディレクトリの相対パス */
define("HTML2DATA_DIR", "/../data/");

/** DATA ディレクトリから HTML ディレクトリの相対パス */
define("DATA_DIR2HTML", "/../html/");
---------------
となっているのを、
---------------

/** HTMLディレクトリからのDATAディレクトリの相対パス */
define("HTML2DATA_DIR", "/data/");

/** DATA ディレクトリから HTML ディレクトリの相対パス */
define("DATA_DIR2HTML", "../");
---------------
とすれば、OKなのですが、こちらはpopoさんのご要望(>ファイルの移動なしで、htaccessでRewriteRuleの記述だけでアドレスを変更できれば良いと思っているのですが)には副いませんね。
一般的なレンタルサーバーの場合は、こちらの構成にして/data/以下もWEBルート以下に置くことが多くなるだろうと思いましたが、どうでしょうかね。。。

セキュリティ面でのポイントなどは、EC-CUBEのファイル構成に詳しい方のアドバイスを受けて頂いたほうがいいかと思いますが、拝見したところ、現状では、/data/もWEB公開領域以下に配置されているようですので、セキュリティレベルが下がる、ということはありません。


管理画面や買い物動作、カスタマイズなど主要な動作では動作確認しています。
設定されるときに、特殊な動作やカスタマイズの中で、個別指定でファイルのURLを記述した場合などは、そちらのチェックをして頂ければいいかと思います。
popo
投稿日時: 2008/10/12 14:40
対応状況: −−−
長老
登録日: 2008/10/1
居住地:
投稿: 189
Re: /html/を省略する方法について
アドバイスありがとうざいます。

教えて頂いた「/html/define.php」の書き換えと「/data/install.php」の書き換えで対応できそうですね。
ファイル移動で不具合が出ないか不安だったのですが、htaccessで行うよりも必要箇所の書き換えでアドレス変更できそうですね。

まだ試していないのですが、一通りバックアップを取ってから試してみたいと思います。

的確なアドバイスをありがとうございます(^^)
ramrun
投稿日時: 2008/10/12 15:27
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: /html/を省略する方法について
私個人の考えも入っているので、ちと間違っているかもしれませんが...

たとえば、/hoge/hage/public_htmlが公開ディレクトリだとします。
で、webサーバはapacheが多いと思うのですが、apacheではhttpd.confという設定ファイルでドキュメントルートを設定しています。

DocumentRoot /hoge/hage/public_html


これにより、http://yourdomain.com/ にアクセスすると、/hoge/hage/public_htmlにアクセスするようになっています。

そこでEC-CUBEを/hoge/hage/public_htmlに解凍した場合、

 /hoge/hage/public_html/eccube/data
                              /html


となりますので、EC-CUBEへのURLはhttp://yourdomain.com/eccube/html/ となるところまではよろしいでしょうか?

で、EC-CUBEではそもそもドキュメントルートを変更することが前提になっていて。

DocumentRoot /hoge/hage/public_html/eccube/html


これでhttp://yourdomain.com/ にアクセスするとEC-CUBEの画面にアクセスできるわけですね。
と同時にEC-CUBEの動作部分となるdataには、URLからアクセスできなくなり、セキュリティも確保されます。

実際はたったこれだけなんですよ。

ただし。

これが大事なんですけど、httpd.confをいじれるサーバ、ようするにroot権限を持てるサーバが必要です。

簡単にいえば、共有サーバは×、VPSや専用サーバでroot権限が与えられているサーバが○ということ。

ではなんで共有サーバでEC-CUBEを動かそうとするのか?というのが普通は問題視されるところのはずなんですけどね(汗)。
popo
投稿日時: 2008/10/14 17:06
対応状況: 解決済
長老
登録日: 2008/10/1
居住地:
投稿: 189
Re: /html/を省略する方法について
ご回答ありがとうざいます。

お二人のアドバイスを参考にさせて頂きました。

無事に「html」をなくすことができました。

ありがとうございました。
ramrun
投稿日時: 2008/10/14 19:01
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: /html/を省略する方法について
余計なお世話かもしれませんが、公開ディレクトリ以下にdataを配置したのでしたら、ブラウザからURLでdataにアクセスできないようにしたほうがいいですよ。

公開ディレクトリ以下にdataを配置していないのでしたら以下は無視してください。


たとえばhttp://yourdomain.com/data/logs/site.loghttp://yourdomain.com/../data/logs/site.log とかでアクセスできちゃうとか。

data自体はもともとアクセスできない場所に置くことが前提だから、実際、アクセスされちゃったらどうなの? っていうのをチェックした人もいないんじゃないのかな。

そのときはとりあえずdataに.htaccessを置いてアク禁にしておきましょ。
Order deny,allow
deny from all

popo
投稿日時: 2008/10/16 13:22
対応状況: −−−
長老
登録日: 2008/10/1
居住地:
投稿: 189
Re: /html/を省略する方法について
アドバイスありがとうございます。

ご指摘して頂いたように、アクセスできないようにhtaccessを設置する事にしました。

ご指摘に感謝致します。
ishigaki
投稿日時: 2011/1/19 10:34
対応状況: 開発中
新米
登録日: 2011/1/19
居住地:
投稿: 1
Re: /html/を省略する方法について
はじめまして popo さん ishigakiと申します。

私も同じ状況になりpopoさんの投稿を参考にして試しているのですがなかなかうまく動いてくれません。

define.phpの修正はできたのですが、install.phpの修正が具体的にどのように修正すればいいのでしょうか?

現在は、htmlの以下のディレクトリのコピーとdataディレクトリのコピーをして、上記2つのphpを修正して試しているのですが、移動先のURLには真っ白な画面が表示されてしまいます。
また管理画面も表示できない状況です。

すみませんがご教授おねがいします!
marushige
投稿日時: 2011/7/13 15:36
対応状況: −−−
一人前
登録日: 2011/2/14
居住地:
投稿: 93
Re: /html/を省略する方法について
EC-CUBEバージョン 2.4.4
PHPバージョン PHP 5.2.8
DBバージョン MySQL 5.0.45


 下記参考に「ドメイン/html」から「ドメイン」のみ表示へしたくおこなったのですが、

 一部表示されてエラーがたくさん出ております。
 足りない作業があるのでしょうか?

 どなかたご指南お願いいたします。

現在、共通 ヘッダー・フッターは表示されており、
ヘッダーの上に

Warning: reset() [function.reset]: Passed variable is not an array or object in /usr/home/z303155/html/data/class/helper/SC_Helper_PageLayout.php on line 66

Warning: Variable passed to each() is not an array or object in /usr/home/z303155/html/data/class/helper/SC_Helper_PageLayout.php on line 67

コンテンツの所に

Warning: Smarty error: unable to read resource: "/usr/home/z303155/html/data/Smarty/templates/default/.tpl" in /usr/home/z303155/html/data/module/Smarty/libs/Smarty.class.php on line 1095

のエラーがでています。



1)/html/以下は、WEBの公開領域に入れる
2)/data/をフォルダごと、その中に入れる
3)/WEBルート(=/html)/define.php の2行目〜6行目(Ver.2.3の場合で)
---------------
/** HTMLディレクトリからのDATAディレクトリの相対パス */
define("HTML2DATA_DIR", "/../data/");

/** DATA ディレクトリから HTML ディレクトリの相対パス */
define("DATA_DIR2HTML", "/../html/");
---------------
となっているのを、
---------------

/** HTMLディレクトリからのDATAディレクトリの相対パス */
define("HTML2DATA_DIR", "/data/");

/** DATA ディレクトリから HTML ディレクトリの相対パス */
define("DATA_DIR2HTML", "../");
---------------



ちなみ ここも参考にしておこないましたができませんでした
http://meimouman.blog117.fc2.com/blog-entry-700.html
AMUAMU
投稿日時: 2011/7/13 18:22
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: /html/を省略する方法について
インストール後に作業を行う場合、EC-CUBEサイト移転と同等の作業が必要になります。少々面倒です。

過去ログのサイト移転に関する内容などが参考になるのではないかと思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,287名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.