EC2上的CakePHP缺少控制器

EC2上的CakePHP缺少控制器,php,cakephp,amazon-web-services,amazon-ec2,Php,Cakephp,Amazon Web Services,Amazon Ec2,我有一个Cake 2.3.8应用程序,在localhost上运行良好,我将其上传到一个Ubuntu12.04 EC2实例,但在索引/主文件上,我得到了一个“缺少控制器”错误 CSS、页眉和页脚在主页/索引页上加载良好,但它似乎找不到控制器。我的应用程序的每一个页面/控制器都无法加载,我会收到一个404错误 我试过了,但我的问题仍然存在 我还应该寻找什么会导致它找不到控制器,甚至无法加载任何其他页面 更新 我将内容移动到/var/www,以便通过my-ec2-instance.com访问。当我转到

我有一个Cake 2.3.8应用程序,在localhost上运行良好,我将其上传到一个Ubuntu12.04 EC2实例,但在索引/主文件上,我得到了一个“缺少控制器”错误

CSS、页眉和页脚在主页/索引页上加载良好,但它似乎找不到控制器。我的应用程序的每一个页面/控制器都无法加载,我会收到一个404错误

我试过了,但我的问题仍然存在

我还应该寻找什么会导致它找不到控制器,甚至无法加载任何其他页面

更新

我将内容移动到/var/www,以便通过my-ec2-instance.com访问。当我转到my-ec2-instance.com/index.php时,将显示页面(即PagesController/home.ctp)。但是,其他任何操作都会产生404错误。Modrewrite也已启用

当我引用index.php时,我也可以访问我的操作,尽管出于任何原因它以移动格式显示(我有一个响应模板)。例如:www.my-ec2-instance.com/index.php/users/login可以工作,尽管它是移动格式的

www.my-ec2-instance.com/index.php  //works

www.my-ec2-instance.com/index.php/users/login  //works, but mobile format

www.my-ec2-instance.com/users/login  //404 error

听起来你的
.htaccess
文件有问题,它可以正确地重写短URL和处理控制器路由。

听起来你的
.htaccess
文件有问题,它可以正确地重写短URL和处理控制器路由。

请通过putty连接实例,然后按

sudo nano /etc/httpd/conf/httpd.conf
检查下面给出的行并移除#标记

之后,您可以替换:

AllowOverride None

注意:允许无任何超越
->
允许全部超越

从Crtl+X,然后按Y,然后按Enter(您可以根据您的操作系统使用此命令)

之后,您可以在putty中执行该命令

sudo service httpd restart
然后检查您的
.htaccess
文件(请确保您的
.htaccess
应该是正确的)是否有cakePHP
.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ app/webroot/ [L]
    RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

重新启动发动机
重写规则^$app/webroot/[L]
重写规则(*)app/webroot/$1[L]

请通过putty连接实例,然后按

sudo nano /etc/httpd/conf/httpd.conf
检查下面给出的行并移除#标记

之后,您可以替换:

AllowOverride None

注意:允许无任何超越
->
允许全部超越

从Crtl+X,然后按Y,然后按Enter(您可以根据您的操作系统使用此命令)

之后,您可以在putty中执行该命令

sudo service httpd restart
然后检查您的
.htaccess
文件(请确保您的
.htaccess
应该是正确的)是否有cakePHP
.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ app/webroot/ [L]
    RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

重新启动发动机
重写规则^$app/webroot/[L]
重写规则(*)app/webroot/$1[L]

具体是哪个.htaccess?我仔细查看了一下,发现有多个(/.htaccess、/app/.htaccess、/app/webroot/.htaccess)。我的正则表达式技能缺乏,所以我不太确定我到底要找什么。谢谢你的建议!主根目录
.htaccess
。具体是哪个.htaccess?我仔细查看了一下,发现有多个(/.htaccess、/app/.htaccess、/app/webroot/.htaccess)。我的正则表达式技能缺乏,所以我不太确定我到底要找什么。谢谢你的建议!主根目录
.htaccess
。您能在这里添加准确的错误消息吗?@GuillemoMansilla它说“缺少控制器错误:无法找到Project1Controller。”。这是在索引页上,这将是PagesController。您使用的url是什么?@GuillemoMansilla我正在访问,就像在localhost上一样。my-ec2-url.com/Project1@GuillemoMansilla我的应用程序位于/var/www/Project1 not/var/www。当我访问时,它只显示apache“it Works”消息。你能在这里添加准确的错误消息吗?@guillemmansilla它说“缺少控制器错误:找不到Project1Controller。”。这是在索引页上,这将是PagesController。您使用的url是什么?@GuillemoMansilla我正在访问,就像在localhost上一样。my-ec2-url.com/Project1@GuillemoMansilla我的应用程序位于/var/www/Project1而不是/var/www。当我访问时,它只显示apache“it Works”消息。