2014-03-30 36 views
2

我的Drupal网站没有加载JS文件,也不CSS文件,即使他们在那里我可以在FTP上看到他们,他们的权限是664,我不能改变他们,他们继续回到664.站点/默认/其他文件正在加载,但不是那些。Drupal的不加载位于</p> <pre><code>sites/default/files/js </code></pre> <p>OR</p> <pre><code>sites/default/files/css </code></pre> <p>JS/CSS文件默认/文件/

本地网站工作正常,所以我知道这是一个服务器问题!有什么建议么?

+1

尝试更改文件权限664至644 –

+0

@Mehul,我刚刚尝试过,它已回到664,由于某种原因我无法更改它! – Amin

+1

你清除了缓存吗? – Rupesh

回答

1

您是否检查了主题以确保css和js文件在那里?信息文件?

+0

我真正看到404在萤火虫控制台中,我的意思是浏览器试图连接,但没有得到文件 – Amin

1

确保文件夹(sites/default/files/jssites/default/files/css)权限是755744
重要的是要User有可执行的权限在此文件夹

+0

@Am INM是工作吗? – Farnabaz

2

首先,这是不可取的,让您的JS & CSS文件中sites/default夹。他们应该保存在sites/all/themesites/all/modules目录中。

而且,即使这样,它们也不一定会被加载到您的网站上。如果你想在你的网站上加载这些文件,你必须指定它。这是它是如何做:

对于主题:

在theme.info文件添加scripts[] = mytheme.js添加JS

在theme.info文件添加stylesheets[all][] = mytheme.css添加CSS

For Module:

使用drupal_add_js('path_to_file')添加JS文件

使用drupal_add_css('path_to_file')添加CSS文件

考虑到对一些原因,你已经把文件sites/default文件夹,将需要提供读取权限到文件。建议将它们设置为755

+0

在管理性能页面检查压缩JS和CSS后,那些文件就在那里。它们被包含在浏览器中,因为我之前评论过: 我实际上在Firebug控制台中看到404,我的意思是浏览器试图连接但没有获取文件。 即使Drupal将它们放在那里并自动加载它们,我也会尝试将它们移动... – Amin

1

第一个问题是,您如何在您的网站中包含这些css & Js?使用模块还是从主题? 在任何情况下,您都应该将它们放在模块目录或主题目录中。 如果您将它们放在主题目录中,则应将这些文件添加到主题的.info文件中。这是将CSS/JS文件包含到主题中的最佳方式。

+0

在管理性能页面检查压缩JS和CSS后,那些文件在那里。它们被包含在浏览器中,因为我之前评论过: 我实际上在Firebug控制台中看到404,我的意思是浏览器试图连接但没有获取文件。 即使Drupal将它们放在那里并自动加载它们,我也会尝试移动它们... – Amin

0

为清楚起见

  • 404意味着服务器无法找到资源(文件,在这种情况下)。
  • 如果你的文件权限是664,并且它的父文件夹也是664,那么任何人都可以读取这个文件,所以这看起来像不是问题。

@kellyjohnson询问文件是否存在,因为404错误意味着什么在概念上。他似乎明白你正在浏览器控制台中观察404。这是商定的。但是,自然的问题是文件是否存在于您期望的文件中。如果您可以验证文件是否存在,那么只剩下几个选项可供探索。

案件

  1. 在公共资产(资产应用程序的文档根目录下)的情况下,很可能在服务器的文档根目录是不是你相信它是;换句话说,服务器试图服务的文件的绝对路径与您文件的物理位置不同。

    a)通过确定您配置的文档根目录来调试此问题,这可能是主“index.php”应用程序入口点的基本路径。从那里追踪你的资产的相对路径。如果您仍然相信一切都是正确的,那么剩下的选择就是Web服务器正在重写您的资产请求,而这正是您关注的焦点所在。

  2. 对于非公共资产(文档根之外的资产),很可能您的应用程序路由不是路由到您假设应该路由到的目录。

    b)这种情况可以说比较容易调试,因为您可以输入应用程序,在任何时候您都可以回显调试代码,并将执行跟踪到资产提供者。

祝你好运。