图像未从本地主机服务器显示
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 来自(可能 apache
或 www-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.
问题来了:
我是 运行 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 来自(可能 apache
或 www-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.