将CakePHP应用程序部署到Web服务器

将CakePHP应用程序部署到Web服务器,php,cakephp,web-applications,webserver,cpanel,Php,Cakephp,Web Applications,Webserver,Cpanel,我在将CakePHP应用程序部署到共享web服务器上时遇到问题。以下是我所做的: 1) 我从本地计算机压缩了应用程序:application.zip 2) 然后我将zip文件上传到服务器上的mypublic\u html,并将其解压缩 因此,现在我的应用程序位于www.mydomain.com/application,工作正常,但一旦我将application文件夹的内容移动到public\u html(因此我的应用程序位于www.mydomain.com),它就无法正确加载应用程序。它只加载主

我在将CakePHP应用程序部署到共享web服务器上时遇到问题。以下是我所做的:

1) 我从本地计算机压缩了应用程序:
application.zip
2) 然后我将zip文件上传到服务器上的my
public\u html
,并将其解压缩

因此,现在我的应用程序位于
www.mydomain.com/application
,工作正常,但一旦我将
application
文件夹的内容移动到
public\u html
(因此我的应用程序位于
www.mydomain.com
),它就无法正确加载应用程序。它只加载主页的一些链接,而不加载任何样式

总而言之。。提取到
public\u html/application/
但一旦我将应用程序文件夹的内容移动到
public\u html
中,它就不起作用了

我应该如何设置文件夹结构,以便我的应用程序位于
www.mydomain.com


非常感谢您的帮助。

您也可以尝试删除app/tmp/cache中的缓存文件
不是文件夹而是文件夹中的文件

我只是碰巧尝试使用CPanel以同样的方式将蛋糕应用程序部署到共享服务器,并且遇到了完全相同的问题。我发现在某种程度上(我想当我将zip解压缩到public_html目录时,有一个空的.htaccess文件不想被替换),应用程序根目录中的.htaccess文件是空的

只需确保应用程序根目录中的.htaccess文件(即public_html)包含以下内容:

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

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

对我来说很好,现在我已经准备好了

嗨。你在使用Apache吗?谁在托管你的服务器?它不是1和1,是吗?是的,它是Apache。不,我没有使用1和1.Hmm,我所能说的就是确保所有CakePHP.htaccess文件都在那里(在应用程序的根目录中,在app目录中,在app/webroot中),很可能您没有将
public\u html/application/.htaccess
移动到
public\u html/.htaccess
。您描述的是未启用mod rewrite。最好将所有应用程序文件从文档根目录中删除,并将html作为指向
app/webroot
文件夹的符号链接公开(或类似排列)-它是唯一应该位于web可访问位置的文件夹。或者(如我对问题的评论所示)并确保文档根指向webroot文件夹+1.注意到你的评论,但我使用Cpanel,我认为这是不可能的,因为Cpanel和其他共享主机似乎不能使用DocumentRoot。不过,对于专用主机来说,是的,这将是最好的方式(我通常都是这样做的——我很少使用共享服务器,或者Apache);只能将应用程序文件放在文档根目录之外,并将webroot链接或复制到文档根目录(如果已复制,则为)。这似乎解决了我的问题。非常感谢,伙计。@AD7six我明白了。没有想到移动webroot,但不确定是否可以使用共享主机进行链接。也许下次要考虑一下——我习惯于使用nGixx,但通常情况下它更简单。