1

PHP v5.2.4 で MAMP を使用して、ローカル ホストからテスト サイトを実行しています。CakePHP v1.2 で構成された 2 つの Web サイトのバックアップを取得するためにかなりの数の試みを行いました。また、データベースを転送し、データベースの正しい資格情報を入力しました。Web サイトがデータベースに接続する方法は、app/config フォルダー内の database.php ファイルを使用して、以下の資格情報を入力します。

class DATABASE_CONFIG {

    var $default = array(
            'driver' => 'mysqli',
            'persistent' => false,
            'host' => 'localhost',
            'login' => 'user',
            'password' => 'password',
            'database' => 'nameofdatabase',
            'prefix' => '',
    );
}

ユーザー名とパスワードを入力した後、データベース構成を正しく設定しました。

ホームページ上では以下のようになっています。 CSSやJavaScriptファイルが読めないホームページ

しかし、リンクの 1 つをクリックすると、通常のページのように見え、webroot フォルダーから CSS ファイルと JavaScript ファイルが読み込まれます。

リンクされた CSS と JavaScript が機能しているリンクをクリックした

@EoinMurphyの回答に従ってRewriteBase /、すべての.htaccessファイルにコードを書き込もうとしましたが、うまくいきませんでした。私は間違ったバージョンの CakePHP を持っていましたが、混乱したこの一連の指示よりも明確な指示があったため、Web サイトの構成にこれらの指示を使用しました。

CSS と JavaScript がすべての内部ページで読み取られているように見えるのに、Web サイトのホームページでは読み取られていないように見える理由がわかりません。CSS ファイルと JavaScript ファイルをリンクする方法を理解できる唯一の方法は<link src="" ... />、ファイルの を使用してインデックス ページのコンテンツを出力することです。

以前の他の唯一の問題は、リンクの後の ( http://.. .) のようなリンクの出力でしたが、CSS で次のように出力しただけです。

a:link:after, a:visited:after {
content:" (" attr(href) ")"; /*the content CSS made it spill out the links*/
font-size:90%;
}
4

1 に答える 1

1

これは、CakePHP Web サイトをライブ環境から開発環境に移行する際の私の最新の調査結果に関連しています。

CakePHP を webroot のサブフォルダーに配置する場合、Apache 構成の RewriteBase を使用する必要があります。

したがって、WAMP をインストールし、MOD_REWRITE 拡張機能を有効にし、「ライブ」Web サイトを C:\wamp\www\live に移動した場合

\live.htaccess、\live\app.htaccess、\live\app\webroot.htaccess にある .htaccess ファイルを開き、「RewriteBase \live」という行を追加します。

ここに見られるように: http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase

覚えておくべきいくつかのことを要約します。

  1. mod_rewrite を有効にする
  2. サブフォルダーにある場合は RewriteBase
  3. データベースの基本設定が正しいことを確認してください。
于 2012-11-29T13:41:04.560 に答える