【问题标题】:Chrome won't display filesystem imagesChrome 不会显示文件系统图像
【发布时间】:2018-03-11 17:49:46
【问题描述】:

问题:当我尝试将图像加载为网页的一部分时,我得到 (blocked:other) 作为对 Chrome 检查器中图像请求的响应(而不是 200 或 404)。当我将图像位置粘贴到地址栏中时,它会加载,所以我知道路径是正确的。来自 Firefox 的相同响应。

直接在浏览器中加载但不在网页/css 中加载的示例路径:file:///Users/my-username/path-to-app/assets/images/give-them-beer/12-top-rated -ipas_1200.jpg

不会在任何地方加载的示例路径(在检查器中返回 404):http://localhost/mysite.com/assets/images/give-them-beer/12-top-rated-ipas_1200.jpg

系统信息:

  • 我正在开发一个 localhost 网站(Mac,使用 MAMP + Apache)。
  • 我使用的是最新版本的 Chrome。

网站信息:

  • 我正在使用 CodeIgniter 3.x
  • 我的资产目录在应用程序目录之外
  • 我正在使用图像的完整文件系统路径。
  • 我正在使用内联样式将图像加载为 CSS 背景

我调查的内容:

  • 我尝试过 localhost URL 和文件系统 URL
  • .htaccess CSP 选项,虽然我找不到解决问题的选项
  • .htaccess XSS 选项,但我还是不知道如何绕过它
  • MAMP 权限建议 cmets。新的权限是:
    • 本地主机目录:drwxr-x---+ 7 ME _www 238 Sep 10 09:37 DOCUMENTDIRECTORY
    • 网站目录:drwxrwx---+ 15 ME _www 510 Sep 11 09:50 MYSITEDIRECTORY

【问题讨论】:

标签: html css .htaccess background-image


【解决方案1】:

您可以尝试将 MAMP“以用户身份运行 Apache/MySQL 服务器:”中的设置切换为以本地用户帐户而不是“www”身份运行,如果您还没有这样做的话。

【讨论】:

  • 感谢您的新方向!我在这里使用了说明,ifmeister.com/…,但我没有 MAMP Pro,我不知道如何在 MAMP 中设置默认用户。没有最后一点,它并没有解决问题,但我仍在努力......
  • 我随后按照这里的权限说明,stackoverflow.com/questions/2001881/… 并重新启动了 Apache。使用 file:/// 或 localhost 方法都没有骰子。 :(
【解决方案2】:

原来是 CodeIgniter 配置问题。我需要将 assets 文件夹添加到 .htaccess 重写规则中,如下所示:

RewriteEngine On RewriteCond $1 !^(index\.php|assets|resources|robots\.txt) RewriteRule ^(.*)$ index.php/$1 [L,QSA]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    • 2011-05-18
    • 2013-04-09
    • 2022-10-13
    • 2012-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多