人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

CakePHPをサブドメインで運用したいと思っています。
(www.exsample.comならaaa.exsample.comで)

通常でのインストールはうまくいったのですが、サブドメインの
運用についてはググッても良い情報が見つからず困っています。

============================================================

▼現在の状態

home/xxxxx/public_html/(※app/webroot内のファイル)
home/xxxxx/public_html/aaa/←ここに設置したい
home/xxxxx/.data/app
home/xxxxx/.data/cake

※参考書にpublic_html以下に「app」「cake」などのファイルを置くのは望ましくない
とあったのでこのような構成になっています。
※サブドメインを設定していないときにaaaに設置すれば
正常に見ることは出来ますが、サブドメインの設定をすると
見れなくなります。

============================================================

具体的にどのファイルをどのように変更すればよいのでしょうか。
ご教授のほど宜しくお願い致します。

1265573185
●拡大する

●質問者: gelgelgel
●カテゴリ:インターネット ウェブ制作
✍キーワード:A/a AAA Cake CakePHP HOME
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● km1967
●20ポイント

home/xxxxx/public_html/aaa/

の下に app/webroot内のファイルをすべて置かないと動きませんよ

http://cakephp.jp/

◎質問者からの返答

km1967さん

ご回答ありがとうございます。

私の文章がわかりにくかったのかも知れませんが、

ファイルはすべて移動しております。

またこの問題については解決することが出来ました。

ありがとうございました。


2 ● rouge_2008
●100ポイント ベストアンサー

お言葉に甘えて回答させていただきます。

「.htaccess」に以下の記述を追加しなくても、サブドメインの設定後、しばらく時間が経ったら動作するようになったのでしょうか?

DirectoryIndex index.php

標準でindex.htmlだけでなく、index.phpもトップページとして認識する設定になっていたのですね。


> http://www.example.com/aaa/ では見れるのですが

> http://aaa.example.com を参照しようとすると

>「http://aaa.example.com/cgi-sys/defaultwebpage.cgi」に

>「Great Success ! Apache is working on your cPanel? and WHM? Server」というApacheの画面が表示されます。

この時点では、まだ反映されていなかったのかもしれません。

通常のファイルが表示できたという点が不思議ですが・・・

トップページが見つからなかった場合、任意のページを表示するように、以下のような設定をしているのではないかと思います。

<LocationMatch "^/+$">
 Options -Indexes
 ErrorDocument 403 http://aaa.example.com/cgi-sys/defaultwebpage.cgi
</LocationMatch>

上記のような設定がしてある場合、アクセス権がない状態でHPにアクセスすると、トップページだけサーバー側で指定しているページが表示されるという問題があります。

※その他のページは、ユーザーが指定したページが表示されます。

もし、アクセス制限等が原因でこの問題が発生した時には、サポートに相談してみてください。

http://q.hatena.ne.jp/1264561495


> app/config/routes.php で Router::connect ('/aaa/', array('controller'=>'posts', 'action'=>'index'));

> などと指定すると

> Missing Controller

> Error: Controller could not be found.

> Error: Create the class Controller below in file: app/controllers/controller.php

> といったエラーが表示される状態です。

おそらくこの時点では、CakePHPは正常に動作しています。(^-^;

『Error: PostsController could not be found.

Error: Create the class PostsController below in file: app/controllers/posts_controller.php』

正確なエラーメッセージは、上記のように表示されなかったでしょうか?

「routes.php」で指定したPostsControllerが見つからないのが原因です。

PostsControllerは作成済みでしょうか?

※PostsControllerを利用しない(「http://aaa.example.com/posts」や「http://aaa.example.com/posts/?」というページが必要ない)場合は、作成する必要はありません。

※「http://aaa.example.com/aaa」でPostsControllerにアクセスしない場合は、「routes.php」での指定も必要ありません。

試しに、「routes.php」に作成していないコントローラーを同じように指定してみてください。

上記のようなエラーが表示されるはずです。


ともかく、無事に動作するようになったということで、本当に良かったです。

◎質問者からの返答

細かな解説ありがとうございます。

>この時点では、まだ反映されていなかったのかもしれません。

>通常のファイルが表示できたという点が不思議ですが・・・

もしかしたら私の記憶違いだったのかも知れません・・

いろいろいじっていたもので・・

>『Error: PostsController could not be found.

>Error: Create the class PostsController below in file: app/controllers/posts_controller.php』

>正確なエラーメッセージは、上記のように表示されなかったでしょうか?

これはコピペしたので私のであっていると思います。私もなんで「/controller.php」なんだろうと

疑問に思っていましたので・・。CakePHPはまださわり始めたばかりなのでこれから精進していきたいと思います。

様々なご指導ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ