私のクライアントは、既存のサーバーのサブディレクトリに移動するために作成したケーキ php アプリを要求しました。私のテストリモートおよびローカルインストールでは、すべてが完全に機能します。
最初、私は htaccess に問題があり、サイトを表示するために RewriteBase /quotesystem/ を htaccess ファイルに追加する必要がありました。htaccessを以下のように変更しました。
ケーキのルート .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /quotesystem/
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
アプリ .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /quotesystem/app/
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
および webroot .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /quotesystem/app/webroot/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>
これで自分のサイトにアクセスできるようになりましたが、一時ディレクトリに関する警告が大量に表示されます。
警告 (2): SplFileInfo::openFile(/web/sites/_p/_e/_t/petersen-stainless.co.uk/public/www/quotesystem/app/tmp/cache/persistent/cake_core_cake_en-gb) [関数。 SplFileInfo-openFile]: ストリームを開くことができませんでした: そのようなファイルまたはディレクトリはありません [CORE/Cake/Cache/Engine/FileEngine.php、295 行目]
ここで見ることができます: http://www.petersen-stainless.co.uk/quotesystem
今、一時ディレクトリを 777 に CHMOD したので、誰もがアクセス許可を持つ必要がありますが、それでもこれらのエラーが発生します。
これらのフォルダー内のすべてのファイルを削除して、一時ディレクトリをクリーンアップしました。
FTP クライアント (送信) を使用してファイルのアクセス許可を確認すると、所有者が (?) と表示され、それを変更しようとするとエラーが表示されます:「tmp」の所有者を変更できませんでした。サーバーが言った:「SITE CHOWN」が理解できません
私が取り組んでいる他のサイトではこれを取得できません。
何が起こっているのか理解できません。これはパーミッションの問題ですか、それとも .htaccess の問題ですか、あるいはその両方ですか? それともサーバーの設定の問題ですか?
誰かがこれに光を当てるのを手伝ってくれて、私の理解を助けることができれば、私はとても感謝しています.
更新: サーバー上の私のディレクトリ構造は次のとおりです。
- 公衆
--- www
----- 見積もりシステム
------- ライブラリ
- - - - アプリ
--------- 構成
--------- ウェブルート