0

我最近在 inmotionhosting.com 上购买了一个 VPS,并且在我的自定义主题/View/Themed/Mosaic/webroot和我的 Croogo 插件/Vendor/下加载任何 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 Linux 服务器安装了 NGINX mod_rewrite 活动(点击任何链接,你会看到漂亮的 url)

4

2 回答 2

0

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

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

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

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

于 2017-12-16T16:10:03.407 回答
0

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

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

感谢@cgTag 的及时回复,它确实帮助了将来可能面临类似问题的其他人。

于 2017-12-17T11:02:40.423 回答