我有以下站点我的域
如您所见,如果单击链接,您将收到错误消息!。
现在,如果您将 cake/users/login 添加到 url 的末尾,您将转到正确的站点。
现在我的问题是如何从 url 中删除 cake 以及如何设置默认控制器?(这样如果找不到路径,它将转到控制器索引操作?)
由于 CakePHP 是基于相对路径的,你唯一能做的就是将 cake 文件夹的内容向上移动一级。
例如,如果您有如下服务器路径: /var/www 并且在其中您有 /var/www/cake 您需要做的就是将 cake 文件夹的内容移动到 /var/www 路径可能取决于服务器配置,但是原理是一样的。我认为您不应该对配置进行一些更改。
在第二个问题上,如何为主页设置默认控制器 - 默认情况下它会在那里,但我猜你已经删除了它:转到你的项目的 app/Config/routes.php 看看是否有一行以
Router::connect( '/', ...);
如果没有,请添加如下:
Router::connect( '/', array('controller' => 'your_controller', 'action' => 'index') );
这是.htaccess的问题,cakephp有.htaccess
/.htaccess /app/.htaccess /app/webroot/.htaccess
您必须在RewriteEngine on之后添加以下代码
RewriteBase /cake/ in /.htaccess
RewriteBase /cake/app/ in /app/.htaccess
RewriteBase /cake/app/webroot/ in /app/webroot/.htaccess
文件 /app/config/routes.php 包含路由配置,并且可以在那里更改默认操作。例如,
Router::connect('/pages', array('controller' => 'pages', 'action' => 'display') );