2012-02-28 11 views
2

私はcakephpを初めて使っています。ローカル開発サーバの設定にいくつか問題があります。私はhttp://localhost/dropbox/my_site/にある私のケーキのインストールを持っています。しかし、そのURLにアクセスしようとすると、Dropboxコントローラが設定されていないことがわかります。 /localhost/ではなく、my_siteでCakePHPを起動するようにするにはどうすればよいですか?CAKEPHP - ウェブルートへのデフォルトパスを変更する

私は経路にconnect(/localhost/dropbox/*)を追加しようとしましたが、モデルが間違った場所にあるように見えるようです。

答えて

4

CakePHPはサブディレクトリでうまく動作します - http://localhost/ {appname}で実行しているいくつかのCakeサイトがあります。

Cakeはルートのindex.phpファイルにROOTディレクトリを定義しています。あなたの中に見える場合は、次の行が表示されます:

define('ROOT', dirname(__FILE__)); 
define('WEBROOT_DIR', 'webroot'); 
define('WWW_ROOT', ROOT . DS . APP_DIR . DS . WEBROOT_DIR . DS); 

を、それがdirname(__FILE__)からROOTを取っているので、それは常にそのファイルの場所を指します。

ルーティングファイルに問題があると思われます。サブディレクトリに配置されていることを考慮してカスタムルーティングルールを作成しましたか?あなたがした場合、あなたのケーキのインストールはhttp://localhost/dropbox/my_site/dropbox/にアクセスしようとしている可能性があります...それはあなたがそのエラーを取得している理由です。

+0

Router :: connect( '/'、array( 'コントローラ' => 'cars'、 'action' => 'index')); 私のルートで編集したのはこれだけです。 – Stewie

+0

@Stewieあなたのサイトに直接移動するとこのエラーが発生しますか?またはあなたのサイトのリンクをクリックした後に...? – Farray

+0

http:// localhost/dropbox/my_siteに行くと、dropboxコントローラが存在しないことがわかります。 cakephpのインストールはmy_siteフォルダにあります。 2番目の文字は大文字と小文字が区別されます 私はhttp:// localhost/Dropbox/My_Site /に行きます: C:\ wamp \ www \ Dropbox \ My_Site \ app \ Controller \ CarsController.php on line 10 – Stewie

0

にこの可能性がdoesnのを私はアプリ/ Webルートにindex.phpを編集しようとしたが、すべての例ではなく、Windows以外のLinux形式でディレクトリを作成する方法を示して、私は「ROOT」を構築するかどうかはわかりませんあなたのWebサーバーと同じくらいCakePHPと関係がありません。

ドロップボックスがドキュメントルートの場合は、Webサーバーの設定に応じてマップする必要があります。たとえば、ApacheでDocumentRootを使用します。

+0

私はこの開発サイト用に別のサイトをウェブサーバーに設定していません。多分それは私が間違っていることです。私はWampを使用しています。私はドロップボックスフォルダ内にアプリケーション用のフォルダを配置しました。 – Stewie