我已经在我的测试服务器上安装了CakePHP,它工作正常。当我将站点移动到生产服务器时,站点不工作。在routes.php中,我有这样的代码
Router::connect('/', array('controller' => 'occasions', 'action' => 'index'));
当url中没有控制器名和动作名时加载。如果我在url中添加控制器名称和操作名称,页面给出404错误,即www.server.com/mycake
工作正常,但是www.server.com/mycake/occasions/index
给出404错误。服务器上的mod_rewrite是打开的。而且js和css没有加载这段代码:
echo $html->css(array('style'));
echo $javascript->link(array('common_functions','jquery.min'));
听起来你的重写工作不正常。
/mycake可以正常工作,因为apache会重定向一个base dir url到index.php,但是url重写不起作用。
也许(只是猜测)你需要包括RewriteBase /mycake
或类似的工作正常