【问题标题】:CSS not working with CakePHP AppCSS 不适用于 CakePHP 应用程序
【发布时间】:2013-04-03 13:09:32
【问题描述】:

我在使用 CakePHP 时遇到问题,找不到 CSS。当我在浏览器中查看源代码时,我可以在 head 部分看到 cake 通用 CSS 链接。但是当我点击它查看实际源代码时,我得到一个 404 not found 错误。

更新: 我已按照此处的说明进行操作:

http://book.cakephp.org/2.0/en/installation/url-rewriting.html

确保 mod_rewrite 设置正确,但我仍然无法查看 CSS 文件。

更新: 这是 .htaccess 在我的根文件夹中的样子:

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

这是 .htaccess 在我的应用文件夹中的样子:

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

这就是它在我的 webroot 文件夹中的样子:

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

问候, 斯蒂芬

【问题讨论】:

  • 该文件的权限是否正确?
  • 文件在你认为的目录中吗?
  • @MrSlayer 是的,他们是正确的。
  • 您可能遇到了模式重写或.htaccess 文件的问题。你在使用 Apache 吗?
  • 这还不足以猜测可能是什么问题。看看“相关”窗格中的问题 --> 它们中的任何一个都有效吗?

标签: cakephp


【解决方案1】:

我设法解决了。问题在于我设置虚拟主机的方式,我的 httpd-vhosts.conf 文件现在看起来像这样:

<VirtualHost *:80>
    ServerAdmin webmaster@invoice.dev
    DocumentRoot "/Users/stephenxconnolly/Documents/Websites/invoice-new"
    ServerName invoice.dev
    <Directory "/Users/stephenxconnolly/Documents/Websites/invoice-new/">
         AllowOverride All
    </Directory>
#   ServerAlias www.dummy-host.example.com
    ErrorLog "/private/var/log/apache2/invoice.dev-error_log"
    CustomLog "/private/var/log/apache2/invoice.dev-access_log" common
</VirtualHost>

这解决了问题。

【讨论】:

    【解决方案2】:

    您是否让 CakePHP 创建指向 CSS 的链接?像这样:

    echo $this->Html->css('cake.generic');
    

    如果 Apache 指向 webroot,并且您的 CSS 在 webroot/css/cake.generic.css 中,那么您应该可以在

    上浏览它
    http://website/css/cake.generic.css
    

    如果你把CSS文件放在webroot下可以浏览吗?

    【讨论】:

    • 在回答您的第一个问题时,是的,我让 CakePHP 创建指向 CSS 文件的链接,如上所示。我无法浏览 cake.generic.css 我收到 No Data Received 错误消息。
    • 您能看到磁盘上的文件(在 Finder 中),它在哪个目录中?您是否尝试将其移动到 webroot 并手动链接到它(不使用 CakePHP 的帮助程序)?
    • @tobi1kenobi 是的,我可以在 Finder 中看到该文件 projectname/app/webroot/css/cake.generic.css 我不确定您将其移动到 webroot 是什么意思,当安装 CakePHP ,这是文件的默认位置。
    • 是的,位置看起来不错,我只是想知道您是否在 webroot 中链接到它并且它有效,这可能会为您提供一些关于正在发生的事情的线索(例如您的 css 文件夹的权限或其他东西)。跨度>
    猜你喜欢
    • 1970-01-01
    • 2021-12-04
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    • 2016-06-23
    相关资源
    最近更新 更多