0

私のCakePHPアプリはサブディレクトリ内にあり、ウェブサイトの一部を動かすWordpressのインストールにクラッシュしないようにしています:

example.com/ <--root
    /_wp     <--Wordpress installed here
        /page1
        /page2
    /_cake   <--CakePHP installed here
        /page3
        /page4

一貫性を保つために、私は mod_rewrite ルールを使って URL を example.com/_cake/pageX から example.com/pageX などに書き換えています。したがって、ユーザーがリンクにカーソルを合わせると、「_cake」がブラウザの下部に表示され、もちろんソース コードにも表示されます。

リンクなどに必要な URL を作成するように、CakePHP が実際にサイトのルートにあると考えるように構成する方法はありますか?

4

1 に答える 1

0

あなたが望む方法で CakePHP を設定する方法が見つかりませんでした。

HtmlHelper::linkまたはを使用してリンクを作成すると、配列引数Router::urlにメンバーを追加できます。これにより、プレフィックスが URL の前に挿入されなくなります。$url['base'] = false$url_cake

別の方法として、 を呼び出して常に追加する独自のlink()または関数を作成することもできます。url()HtmlHelper::linkbase = false

これが機能するには、ドキュメント ルートに .htaccess も必要です。これにより、リクエストが実際の宛先に書き換えられます。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /_cake/$0 [L]

_wpディレクトリ宛てのリクエストにも注意を払う必要があります。

于 2013-04-09T21:18:36.253 に答える