0

我刚刚负责将网站从 Windows 服务器迁移到 Linux 服务器。

我立即注意到的一个问题是,有许多 CSS url() 定义不起作用,因为 CSS 中的大小写与实际文件不同。

例如:

background: url(myFile.jpg);

而在服务器上,该文件实际上是 MyFile.jpg。

有谁知道一个简单的工具或浏览器插件,我可以使用它来扫描 CSS 文件并验证 url() 声明是否存在,以便我可以轻松找到并修复它们?

该站点非常大,因此如果可以避免的话,我不想浏览页面来查找 404 错误。

4

6 回答 6

1

使用 Google Chrome 中的开发者工具或 Firefox 中的 Firebug。

当您使用该 CSS 加载 HTML 页面时,它将在“网络”选项卡中显示任何缺少的资源。

编辑

我想没有任何工具可以

  1. 通过 CSS 文件扫描所有 URL
  2. 检查每个 URL 是否存在。

但是您可以尝试以下两个链接来完成这两个任务。

  1. 正则表达式从 CSS 获取 URL:有了这个,您将拥有 CSS 中使用的所有 URL 列表
  2. 使用 cURL 检查 URL 是否存在:给出了 PHP 中的示例。

您仍然可以分别搜索这两项并尝试解决问题。

让我知道这是否有帮助。

于 2013-08-06T10:49:31.320 回答
0

如果您只是在浏览器的 URL 栏中写入一个直接指向图像和/或 css 的 http 请求,那会怎样?

于 2013-08-06T10:48:02.707 回答
0

firebug在Firefox中怎么样?它会在其控制台中为您提供所有 404。 下载

于 2013-08-06T10:48:06.240 回答
0

如果您使用的是 Firefox,则可以安装 Firebug;如果您使用的是 Chrome,则可以按 F12。我认为这与 IE 相同。从那里您将能够检查 URL,甚至可以在新的标签。

于 2013-08-06T11:20:39.143 回答
0

事实证明, W3c Link Checker还可以扫描 CSS 文件,这非常方便。

如果这没有奏效,我将不得不整理类似 Vanga 的解决方案。

于 2013-08-06T11:51:55.380 回答
0

这是我将如何处理这个问题。

  1. 通过将以下内容添加到我的 .htaccess 中,确保所有图像请求都由 (PHP) 脚本处理

    RewriteRule .(?:jpe?g|gif|png|bmp)$ /images.php [NC,L]

  2. 使用 file_exists() 检查文件是否存在,甚至可以尝试文件的小写版本是否存在。

  3. 将丢失的文件记录到数据库表或文本文件中。

  4. 使用脚本通过 curl 循环浏览网站的站点地图,以获取导致 404 的请求文件名的完整列表。

于 2020-02-14T17:49:13.477 回答