图像未从本地主机服务器显示

Images not showing up from localhost server

问题来了: 我是 运行 phpmyadmin 来管理我的本地主机服务器,现在我已经将我的项目文件放在路径中:/var/www/html/user/register.html 我正在使用 Ubuntu OS 从这个 url: file:///var/www/html/user/register.html 访问我的“register.html”时,一切看起来都很完美 但是,当我尝试从本地主机服务器访问同一文件时,这个 url:'localhost/user/register.html' ,我的图像没有显示在网页中, css 中的其他一切都很好,我尝试了我能想到的一切,更改目录等。 我用谷歌搜索了整个上午,但一无所获! 你能帮我解决这些问题吗...

PS: 图片路径是正确的,因为它们是从第一个 url.

访问时显示的

编辑:我是论坛的新手,请原谅我在这里缺乏经验,我把html/css代码放在下面,对于css,我只放了一部分图片

body
{
 background-image: url('pics/1.jpg');
 background-attachment: fixed;
}
<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <title>Registration form</title>
 <link rel="stylesheet" href="style1.css">

</head>
<body> 

 <header>
  <div id="sign">
  <a href="#0">Register</a> \ <a href="signup.html">Sign Up</a>
  </div>
 </header>
 <div class="formulaire">
 <h2>Registration form:</h2>
  <form action="register.php" method="post" >
   
   <label for="first">First name</label><input class="inputs" type="text" name="FIRST_N" id="first"><br><br>
   
   <label for="last">Last name</label><input class="inputs" type="text" name="LAST_N" id="last"><br><br>

   <label for="birth">Birthday date</label><input class="inputs" type="date" name="B_D" id="birth"><br><br>

   <label for="gender">Gender</label>
    <select class="inputs" name="GENDER" id="gender">
     
     <option selected="selected"></option>
     <option>MALE</option>
     <option>FEMALE</option>
    
   </select><br><br>

   <label for="user">Username</label><input type="text" name="USERNAME" id="user" class="inputs"><br><br>

   <label for="pass">Password</label><input class="inputs" type="password" name="PASS" id="pass"><br><br>

   <label for="rpass">Retype password</label><input class="inputs" type="password" id="rpass"><br><br>

   <label for="phone">Phone number</label><input class="inputs" type="text" name="PHONE" id="phone"><br><br>

   <div id="buttons">
    <input class="but" type="submit" name="SUBMIT" value="Sign In">
    <input class="but" type="reset" name="RESET" value="Reset">
   </div>
  </form>
 </div>


</body>
</html>

好的,感谢用户@giorgio,我找到了答案,似乎它只与 Ubuntu 有关,限制读取文件的权限,我设法通过 运行 使其工作在终端:

chmod 644 /var/www/html/*Image path here*

问题是你的文件的文件权限太小了,大概是640。因为您的用户是所有者,所以您可以在浏览器中使用 url file://... 访问 .html 时在浏览器中看到图像。因为现在您自己的 linux 用户正在打开文件。

但是;当您尝试使用 url http://localhost/... 打开文件时,您的 linux 用户本身正在尝试打开文件,但用户 apache 运行ning 来自(可能 apachewww-data)。所以这一次,该文件的权限太少(位掩码中的最后 0)。

如果你 运行 给图像更多的权限你应该很好;

chmod 644 /var/www/html/path/to/the-image.jpg

如果您不想每次在电脑上保存图像时都这样做,请打开 $HOME/.profile(在终端中:vim ~/.profile,或更简单的编辑器 pico -w ~/.profile) 并在文件末尾添加以下行:

umask 0022

就是这样!不要忘记注销并再次登录以使此行生效。

注意:将umask命令添加到~/.profile的说明仅适用于(大多数)Debian系统(包括Ubuntu)。您的 linux 发行版可能会有所不同,因此请查看您的发行版的文档,或询问我们无所不知的朋友 google.