CakePHP 2.6.0 未加载 CSS 和 JS 文件

CakePHP 2.6.0 is not loading CSS and JS files

我刚刚将我的网站上传到服务器,但没有加载 css 和 js 文件,只有我能像文本一样看到该网站,在将 .htaccess 文件放在它们的位置后,我收到了这条消息在站点中:

Internal Server Error

服务器遇到内部错误或配置错误,无法完成您的请求。

请联系服务器管理员,并告知他们错误发生的时间,以及您可能执行的任何可能导致错误的操作。

服务器错误日志中可能提供了有关此错误的更多信息。

此外,在尝试使用 ErrorDocument 处理请求时遇到了 500 Internal Server Error 错误。

这些是我的 .htaccess 文件

/www/

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

/www/app/

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

/www/app/webroot/

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

一些想法为什么不起作用?希望您能帮帮我,谢谢。

<?php

    echo $this->Html->css('bootstrap');
    echo $this->Html->css('styles');

    echo $this->Html->script('jquery');
    echo $this->Html->script('bootstrap.min');

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

?>

关于 CSSJS 加载问题,请确认您的服务器上是否启用了 mod_rewrite

我猜测您的 'clean' 网址中的 none 有效,而不仅仅是您的 CSS/JS 文件。所以首先,检查服务器上是否启用了 mod_rewrite。您可以通过使用 phpinfo() 检查它是否被列为启用的模块之一来执行此操作。

如果启用,您可能需要检查您的虚拟主机配置是否正确。你的虚拟主机的 conf 文件中应该有 AllowOverride All,像这样:-

<VirtualHost *:80>
    ...
    <Directory "/var/www/vhosts/example.com">
        AllowOverride All
    </Directory>
</VirtualHost>

我解决了我的问题,解决方案是首先(在我的情况下)删除三个 .htaccess 文件并在 app/config/core.php

中编辑这一行
//Configure::write('App.baseUrl', env('SCRIPT_NAME'));

对此:

Configure::write('App.baseUrl', env('SCRIPT_NAME'));

对我有用,谢谢大家。

请删除所有.htaccess 文件并启用:

Configure::write('App.baseUrl', env('SCRIPT_NAME'));

在 app/config/core.php 中。它工作正常。