Croogo - 新的VPS上的CakePHP网站没有加载js和css

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Croogo - 新的VPS上的CakePHP网站没有加载js和css相关的知识,希望对你有一定的参考价值。

我最近在inmotionhosting.com上购买了一个VPS,在我的自定义主题/ View / Themed / Mosaic / webroot和我的Croogo插件/供应商/下加载任何js,css,img文件时难以部署我的Croogo 2.3.2 croogo / croogo / Croogo / Webroot公司/。

当然,我已经在我的/View/Themed/Mosaic/Layouts/default.ctp中使用了适当的Cakephp约定来包含所述资源:

    echo $this->html->css(array(
        'bootstrap',
        'bootstrap-theme',
        '/croogo/css/reset',
        'font-awesome.min',
        '../slick/slick',
        '../slick/slick-theme',
        '/jquery-ui/jquery-ui.min',
        'slicknav.min',
        'styles'
    ));
    echo $this->Layout->js();
    echo $this->Html->script(array(
        '/croogo/js/html5',
        '/croogo/js/jquery/jquery-3.2.0.min',
        '/jquery-ui/jquery-ui.min',
        '/croogo/js/jquery/jquery.slug',
        '/croogo/js/jquery/jquery.cookie',
        '/croogo/js/jquery/jquery.hoverIntent.minified',
        '/croogo/js/jquery/superfish',
        '/croogo/js/jquery/supersubs',
        '/croogo/js/jquery/jquery.tipsy',
        '/croogo/js/jquery/jquery.elastic-1.6.1.js',
        '/croogo/js/jquery/thickbox-compressed',
        '/croogo/js/underscore-min',
        'bootstrap.min',
        '../slick/slick.min',
        'jquery.slicknav.min',
        'theme.js',
    ));

    echo $this->fetch('script');
    echo $this->fetch('css');

Croogo 2.3.2本身和cakephp作为供应商运行:

/供应商/ Croogo

/供应商/ cakephp中

因此,我有两个.htaccess文件。

一个在/home/mosaic40/v2.mosaicmarble.com/下:

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

一个在/home/mosaic40/v2.mosaicmarble.com/webroot/下:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>

mod_rewrite已安装并激活。

最后但并非最不重要的是,在任何人开始建议我的httpd配置之前,这里是:

DocumentRoot /home/mosaic40/v2.mosaicmarble.com/
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>
<Directory />
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order Allow,Deny
    Allow from all
</Directory>

我似乎无法将手指放在上面。简而言之,由于某种原因,插件和主题的资源(js / css / img)没有被加载。

更新1:它似乎/ webroot资产没有被加载(例如:http://v2.mosaicmarble.com/uploads/FG204-G.jpg)。所述链接是http://v2.mosaicmarble.com/(看看正在呈现的内容)。

Croogo v2.3.2 CakePHP v2.9.3安装了nginx的Linux服务器mod_rewrite处于活动状态(单击任何链接,你会看到漂亮的网址)

答案

当您通过调度程序获取插件的资源时。您必须使用插件名称空间作为URL。

echo $this->Html->script('Croogo.html5');

请参阅链接到插件资产的手册:

https://book.cakephp.org/3.0/en/plugins.html#linking-to-assets-in-plugins

另一答案

最终明显的解决方案是禁用NGINX ......这很奇怪,因为我拥有其他几台服务器,如Media Temple的VPS,安装了NGINX,所有网站运行完美。

所以,是的......禁用NGINX完成了这项工作。

感谢@cgTag的快速回复,它确实有助于未来可能遇到类似问题的其他人。

以上是关于Croogo - 新的VPS上的CakePHP网站没有加载js和css的主要内容,如果未能解决你的问题,请参考以下文章

新的vps服务器怎么配置搭建网站

如何为现有的 CakePHP (2) 项目添加新的 url 路由

CakePHP 3.0 保存我的关联数据

CakePHP 2.1烘焙测试应用程序并失败

使用 Apache 的 VPS 上的多个域

CakePHP 3 上的 POST 数据中出现意外字段“g-recaptcha-response”