Chrome不会显示文件系统映像

时间:2017-09-29 18:56:44

标签: html css .htaccess background-image

问题:当我尝试将图片作为网页的一部分加载时,我会(阻止:其他)作为对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网址和文件系统网址
  • .htaccess CSP选项,虽然我找不到解决问题的方法
  • .htaccess XSS选项,但同样,我无法弄清楚如何绕过它
  • MAMP权限建议评论。新权限是:
    • Localhost dir:drwxr-x---+ 7 ME _www 238 Sep 10 09:37 DOCUMENTDIRECTORY
    • 网站目录:drwxrwx---+ 15 ME _www 510 Sep 11 09:50 MYSITEDIRECTORY

2 个答案:

答案 0 :(得分:0)

你可以尝试在MAMP“以用户运行Apache / MySQL服务器:”中切换设置,以本地用户帐户而不是“www”运行,如果你还没有。

答案 1 :(得分:0)

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

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