服务器上更改了图片,但是页面访问还是原来的图片

通过代码 把服务器上原来的图片删除了,重新上传了一个同名的图片。但是浏览器访问图片路径还是原来的图片。重启服务器才行。刷新网页、resin和tomcat都是这种情况。和浏览器缓存没有关系。路径也绝对正确。

最后找到原因:

这是因为浏览器首次读取服务端的图片之后,再次读取同名图片,会直接从临时文件中读取,不再请求服务端。如果清除浏览器缓存,则图片更新。

解决办法:

方法1:
可以修改图片名,给图片加上时间戳。让图片名不一样。

from datetime import datetime

create_timestamp():
    return datetime.now().strftime("%Y%m%d%H%M%S")
    

方法2:

可以加版本号,用随机数、计数器或时间戳,对于浏览器来说就是一个新的uri,不会访问缓存,而是加载新的东西。
http://…/abc.jpg?v=[random]

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你在搭建好 CentOS 7 上的 Apache 服务器后遇到 "无法访问页面" 的错误时,可能有几个原因需要检查: 1. 确保 Apache 服务已经正确启动。你可以使用命令`sudo systemctl status httpd`来检查 Apache 服务的状态。如果服务没有启动,可以使用`sudo systemctl start httpd`来启动服务。 2. 检查防火墙设置。如果你的服务器上启用了防火墙(firewalld),需要确保 HTTP(端口80)的访问权限已经开放。你可以使用命令`sudo firewall-cmd --list-all`来检查防火墙规则。如果端口80没有被允许,可以使用命令`sudo firewall-cmd --add-service=http --permanent`来开放该端口,并使用`sudo firewall-cmd --reload`重新加载防火墙设置。 3. 检查 Apache 配置文件。在 CentOS 7 上,Apache 的配置文件为`/etc/httpd/conf/httpd.conf`。确保你的配置文件中没有错误,并且指定的目录和文件路径是正确的。可以使用命令`sudo apachectl configtest`来检查 Apache 配置文件的语法是否正确。如果有错误,需要修改配置文件并重新加载 Apache。 4. 检查目录和文件权限。确保指定的目录和文件具有适当的权限,以便 Apache 服务器能够读取它们。你可以使用命令`ls -l`来查看目录和文件的权限,使用`chmod`命令来更改权限。 5. 检查 SELinux 设置。如果你的服务器上启用了 SELinux,需要确保 SELinux 不会阻止 Apache 访问指定的目录和文件。可以使用命令`sudo getsebool -a | grep httpd`来查看与 Apache 相关的 SELinux 设置。如果有相关设置需要修改,可以使用`sudo setsebool -P <setting_name> <value>`命令来更改设置。 6. 检查日志文件。如果以上步骤都没有解决问题,可以查看 Apache 的错误日志文件,通常位于`/var/log/httpd/error_log`。日志文件中可能包含有关访问问题的更详细的错误信息。 希望这些步骤能够帮助你解决问题。如果问题仍然存在,请提供更多的细节和错误信息,以便我能够提供更准确的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值