1つのアプリ(cakePHP)で、複数のサイトが入っている物を作成したいです。
URLであらわすと下記のように、みかんコンテンツとりんごコンテンツが1つのサイトの中に別々にある感じです。
http://ドメイン/mikan/top/index/
http://ドメイン/ringo/top/index/
(http://ドメイン/コンテンツ名/コントローラー名/ファンクション名/)
また、ファイル数が膨大になるため、下記のようにフォルダ分けをしたいです。
●controllersフォルダ
controllers
└mikan
└top_controoler.php
└ringo
└top_controller.php
●viewsフォルダ
views
└mikan
└top
└index.html
└ringo
└top
└index.html
※controllerとview以外のファイルは共通で使いたい
こうしたいのですが、ルーティングなどをいじっても上手くいかず、現在は下記のようにしています。
http://ドメイン/mikan_top/index/
http://ドメイン/ringo_top/index/
(http://ドメイン/コントローラー名/ファンクション名/)
●controllersフォルダ
controllers
└mikan
└mikan_top_controoler.php
└ringo
└ringo_top_controller.php
しかし、これだとURLがかっこ悪いので、最初に示したURLでアクセスできるようにしたいのです。
何かいい方法は無いでしょうか?
controllerやviewのファイル名、クラス名などは複雑になっても構いません。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
やり方は色々あると思いますが、私が試した方法に関しまして。
・mikan_appと、ringo_appと、「parent_app」という物を別でつくっておく
で、config値とかそういうものを全部parent_appの中から参照しちゃおうという手です。
mikan_appと、ringo_appの中にある、bootstrap.phpとか、database.phpの中身を、
bootstrap.php--------------------------
<?php
require_once ROOT . DS . 'parent_app' . DS . 'config' . DS . 'bootstrap.php';
?>
みたいなものだけにしてしまう。
そうすれば、parent_appの中のbootstrap.phpを読めます。
そして、parent_appのbootstrap.phpの中を、
<?php
App::build(array(
'plugins' => array(
APP . 'plugins' . DS,
ROOT . DS . 'parent_app' . DS . 'plugins' . DS,
),
'models' => array(
APP . 'models' . DS,
ROOT . DS . 'parent_app' . DS . 'models' . DS,
),
'views' => array(
APP . 'views' . DS,
ROOT. DS . 'parent_app' . DS . 'views' . DS,
),
'controllers' => array(
APP . 'controllers' . DS,
ROOT . DS . 'parent_app' . 'controllers' . DS,
),
'datasources' => array(
APP . 'models' . DS . 'datasources' . DS,
ROOT . DS . 'parent_app' . DS . 'models' . DS . 'datasources' . DS,
),
'behaviors' => array(
APP . 'models' . DS . 'behaviors' . DS,
ROOT . DS . 'parent_app' . DS . 'models' . DS . 'behaviors' . DS,
),
'components' => array(
APP . 'controllers' . DS . 'components' . DS,
ROOT . DS . 'parent_app' . DS . 'controllers' . DS . 'components' . DS,
),
'helpers' => array(
APP . 'views' . DS . 'helpers' . DS,
ROOT. DS . 'parent_app' . DS . 'views' . DS . 'helpers' . DS,
),
'vendors' => array(
APP . 'vendors' . DS,
ROOT . DS . 'parent_app' . DS . 'vendors' . DS,
),
'shells' => array(
APP . 'shells' . DS,
ROOT . DS . 'parent_app' . DS . 'shells' . DS,
),
'locales' => array(
APP . 'locales' . DS,
ROOT . DS . 'parent_app' . DS . 'locales' . DS,
)
));
?>
としてやれば、アクセスしてきた、mikan/ringoのディレクトリの中のファイルを参照した後なければ、parent_appの中のファイルを参照しに行きます。
後は、mikan/ringoの共通で使うヘルパなんかは、parent_appの中の該当ディレクトリにおいて
それぞれが単独で使うようなものは、それぞれの、mikan_app/ringo_appの中につくる
No.3
- 回答日時:
連投で、ごめんなさい。
少しだけ書ききれなかった。最後に、フロントのindex.phpは、それぞれ物理的にディレクトリを、
mikan/index.php
ringo/index.php
と二つ用意して、APP_DIRだけ、書き換えればよいかと。
No.1
- 回答日時:
こんばんは。
>現在は下記のようにしています。
これは上手く動いているんですかね?
一番手っ取り早いのは、mod_rewriteを使う・・・。
RewriteEngine On
RewriteRile ^/([^/]+)/([^/]+)/([^/]+)$ /$1_$2/$3 [L]
インチキっぽいですが、せっかく動いているので・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle TOPページ以外の、301リダイレクトの記述設定について 1 2022/08/12 17:14
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- Ruby No route matches [GET] "/posts/5/destroy" 1 2022/03/24 13:00
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- SEO 複数のサイト(別々のサーバー)を1代のPCで管理する方法 4 2022/11/27 09:40
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- ホームページ作成・プログラミング Adobe DreamweaverでのサイトのFTP 2 2023/03/05 11:55
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.htaccessファイルの修正がこれ...
-
require_onceで読み込む場合、...
-
PHPでグローバルナビゲーション...
-
1つのcakePHPで複数のサイトを...
-
include時の頭の良いパス指定に...
-
onedrive にexcelファイルをア...
-
Fedoraでphp
-
【file_exists】ファイルが存在...
-
ImageCreate関数が undefined f...
-
フォントの色を変えるには?
-
別ファイルの変数を呼び出した...
-
インスタンス化に伴うメモリ消...
-
error_reporting(0);にも関わら...
-
MySQLのdatetime型の月日0を削...
-
httpdのプロセスが自動で消えな...
-
<A href ~ と一緒に値を渡すには
-
wgetの使い方
-
CygwinでNo such file
-
SSI される .inc ファイル内に ...
-
ワードプレスサイト PHP8.0.25...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
index.phpに入るには、どうすれ...
-
include時の頭の良いパス指定に...
-
require_onceで読み込む場合、...
-
サイトパスに使用しているURLを...
-
深い階層のフォルダの作成や削...
-
.htaccessファイルの修正がこれ...
-
1つのcakePHPで複数のサイトを...
-
[PHP] 任意のDNSでIPアドレスを...
-
phpでページ分けする方法を教え...
-
zendのcontrollersについて
-
PHP Linux から Windowsへの移行
-
ゼンド フレイムワークがどうや...
-
万国博覧会
-
SSLに設置したらディレクトリパ...
-
mod_rewite?でのリダイレクト...
-
PHPファイルが、そのまま見えて...
-
__FILE__をHTMLタグ内で使う
-
変数値の渡し
-
ラミネート加工について
-
歴史上の人物や宗教
おすすめ情報