Drupal 7服务器或缓存问题?不更新CSS更改

时间:2013-04-22 14:03:34

标签: css drupal drupal-7

所以,我的Drupal网站没有反映我所做的任何CSS更改。我已经尝试过对网站进行硬缓存,我尝试过多个浏览器,我已经检查了服务器上的实际样式表,以确保它正在复制(样式表反映了更改,但实际的站点没有)。当然,我已经在管理面板上的配置/性能下进入了清除缓存部分。我已经进入FTP并手动删除了缓存。我已经清除了自己的浏览器缓存。 CSS文件进入正确的文件夹(我也检查了它!)。我已经完成了我能想到的一切。我试过切换聚合和&压缩css选项打开和关闭,清除之间的缓存。我检查了页面源代码,它肯定仍然使用旧的CSS。

每次调试的尝试都让我相信这与DNS没有刷新有关。我在某处读到某人对A名记录进行了某些更改。我已将TTL设置为1/2小时,手动重置A名称记录,我删除了域名转发,以防万一。

这些是我已完成的事情。 Stack Overflow的人,我错过了什么?我已经在网上寻找解决方案,没有人遇到这个问题已经找到了解决方案。有没有人有这个问题并修复它?你做了什么?有什么想法吗?

:: edit ::我只是想补充说我正在使用Skeleton Theme作为基础。

:: edit edit ::我还使用Devel来重建主题注册表。

5 个答案:

答案 0 :(得分:1)

这是交叉发布到发行版的发布队列,但我不认为它与社区媒体入门套件发布本身有任何关系。

首先,您应该通过在本地设置DNS和/或清除DNS缓存来排除DNS。这些是OSX的步骤,但您可以找到任何操作系统的类似说明......

Clearing local DNS cache

Mac OSX Lion DNS lookup order

一旦您确定要访问的网站是同一个网站,让我们看一下分发如何加载主题。使用任何Drupal分发/安装配置文件,您可以通过在sites / all / modules或sites /中放置新/旧/更改的版本来覆盖profiles / [PROFILENAME] / modules或profiles / [PROFILENAME] / themes中包含的任何模块或主题所有/主题。移动使用Drupal注册表的模块时,您将获得WSOD。这通常需要使用drush rr或手动清除缓存表] 1,因为WSOD将停止加载所有页面,包括Admin>表现>清除缓存。主题不太可能是必需的。

在此特定发行版中,您还可以使用CSS Injector模块进行CSS更改,而无需更新css文件本身。该css存储在数据库中,因此它会影响您正在查看的站点。

答案 1 :(得分:0)

我从未使用过Skeleton基本主题,但Omega在Appearance下有一个主题设置,您可以在其中启用和禁用每个主题的样式。也许Skeleton有同样的事情?

答案 2 :(得分:0)

我刚开始参加Drupal,所以我可能完全跟踪我的回答,但我仍然告诉你我在最后几天经历的事情。所以我安装了Drupal Commerce Kickstart并制作了一个以kickstart商业为主题的儿童主题。这个我安装了。当我改变它的CSS并通过ftp客户端上传它时,它需要超过半小时才能生效。所以我搜索并最终使用Firebug我发现Drupal制作了它自己的CSS并将其放在sites / default / files / css中。当我用Inspector查看这些我需要进行更改的css文件时,需要几秒钟,在sites / default / files / css中重新加载更改的css文件后,才能看到发生的更改。 所以显然它需要在主题css文件之前使用这些css文件。对我来说,我觉得这很愚蠢。我不知道这是否可以帮到你。无论如何,我想知道是否真的有必要在sites / default / files / css中创建这些文件。我删除它们进行测试但是它们回来了。不知道是否有可能停止这个过程。

答案 3 :(得分:0)

检查主题.info文件的名称是否与sites/all/themes/

中的主题目录完全相同

如果没有,主题出现在我面前,但.info文件没有效果。

将两者更改为相同,并且很难看到网站外观下有多个主题可用,每个.info文件一个。激活了其他主题,看到了变化。只需将目录和.info文件命名为完全相同。

当然,清除缓存,关闭ccs聚合。

答案 4 :(得分:0)

来自whois托管的Pagespeed(网站缓存系统)是我的原因。我登录到客户的主机帐户并将其关闭。问题得到解决,但我也实现了这个代码,它允许在每个页面加载时重建主题注册表,这产生了巨大的差异。现在css更改是即时的。在网站上线之前,我将禁用此代码。

你确定你没有意义重建主题注册表吗?

要在开发期间重建主题注册表和主题.info文件,请将其添加到主题的template.php文件中:

<?php
/**
 * Auto-rebuild the theme registry during theme development.
 */
if (theme_get_setting('rebuild_registry') && !defined('MAINTENANCE_MODE')) {
  // Rebuild .info data.
  system_rebuild_theme_data();
  // Rebuild theme registry.
  drupal_theme_rebuild();
}
?>

并在你的{themename} _form_system_theme_settings_alter(&amp; $ form,$ form_state)函数中将其添加到主题的theme-settings.php中:

<?php
  $form['rebuild_registry'] = array(
    '#type'          => 'checkbox',
    '#title'         => t('Rebuild theme registry on every page.'),
    '#default_value' => theme_get_setting('rebuild_registry'),
    '#description'   => t('During theme development, it can be very useful to continuously <a href="!link">rebuild the theme registry</a>. WARNING: this is a huge performance penalty and must be turned off on production websites.', array('!link' => 'http://drupal.org/node/173880#theme-registry')),
  );
?>