1

私のクライアントは、既存のサーバーのサブディレクトリに移動するために作成したケーキ 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

----- 見積もりシステム

------- ライブラリ

- - - - アプリ

--------- 構成

--------- ウェブルート

4

2 に答える 2

0

おそらく.htaccessの問題です。と.htaccessのRewriteBase両方で同じである必要があります。したがって、両方のファイルの行は次のようになります。webrootapp

RewriteBase /quotesystem/

Cakeルートディレクトリの.htaccessには何も変更する必要がないように思われるので、個人的には触れません。

さらに、/tmp/cacheそのサブディレクトリも書き込み可能である必要があります。

于 2012-05-03T13:52:50.960 に答える