0

ルートファイルには次のような行があります

Router::connect('/', array('controller' => 'admins', 'action' => 'login'));

誰かがhttp://abc.com/webroothttp://abc.com/css_or_jsのような URL を書いたら、何かしたいと思います。それは管理者のログイン アクションにも行きます。もしそうなら、私は何ができますか?

Router::connect('/webroot/*', array('controller' => 'admins', 'action' => 'login'));
Router::connect('/css/*', array('controller' => 'admins', 'action' => 'login'));
Router::connect('/js/*', array('controller' => 'admins', 'action' => 'login'));

しかし、それはwebroot今のところ機能し、cssまたはjsフォルダーまたはその他のフォルダーでは機能しませんでした. この件で私を助けてください。私はあなたに非常に感謝します。

4

1 に答える 1

0

cssルートとjsルートが機能しない理由は、Cakeのディスパッチャーがそれらをアセットと見なしているため、ルーティングプロセスを完全にスキップして、アセットを配信するためです。私が見るように、これを回避する唯一の方法は、カスタムディスパッチャーを作成することです。

とにかく、webrootディレクトリとそのフォルダのルートを書くべきではありません。webrootフォルダーは、仮想ホスト上のドキュメントルートである必要があるため、サイトのルートと見なされます。

于 2012-12-12T16:04:20.233 に答える