質問 > その他 > /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という設定ファイルでドキュメントルートを設定しています。
これにより、http://yourdomain.com/ にアクセスすると、/hoge/hage/public_htmlにアクセスするようになっています。 そこでEC-CUBEを/hoge/hage/public_htmlに解凍した場合、
となりますので、EC-CUBEへのURLはhttp://yourdomain.com/eccube/html/ となるところまではよろしいでしょうか? で、EC-CUBEではそもそもドキュメントルートを変更することが前提になっていて。
これで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.log やhttp://yourdomain.com/../data/logs/site.log とかでアクセスできちゃうとか。 data自体はもともとアクセスできない場所に置くことが前提だから、実際、アクセスされちゃったらどうなの? っていうのをチェックした人もいないんじゃないのかな。 そのときはとりあえずdataに.htaccessを置いてアク禁にしておきましょ。
|
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サイト移転と同等の作業が必要になります。少々面倒です。
過去ログのサイト移転に関する内容などが参考になるのではないかと思います。
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |