网页使用的图片文件名能否包含%符号?Web资源文件名有哪些命名规范?
%符号能否用于网页图片文件名
%属于URL编码的保留字符,虽然部分本地操作系统允许文件名带%,但非常不建议用在网页资源的文件名中。浏览器和Web服务器解析URL时,会默认将%及其后两位字符作为URL转义序列处理,会直接打乱原有文件名的匹配逻辑,大概率导致资源找不到。
你把路径中的%替换为%25后仍返回404,本质是路径解析逻辑和实际存储的文件名不匹配:当你请求路径带%25时,服务器会先将%25解码为%,再去匹配本地存储的文件,如果还是404可以先排查两点:
- 确认服务器上图片的实际存放路径和你请求的路径完全一致,比如WordPress主题目录名、images文件夹层级是否正确
- 确认文件名大小写和请求路径完全匹配,Linux服务器默认文件名大小写敏感,Windows则不敏感,容易出现大小写不匹配的404问题
网页资源文件名通用规范
为了避免各类兼容问题,网页引用的图片、样式表、脚本等资源文件名建议遵守以下规则:
- 仅使用小写英文字母、数字、半角减号
-、半角下划线_四类字符,禁止使用空格、中文、特殊符号(包括%、&、*、?、#、@等) - 不要用纯数字或者数字作为文件名开头,避免触发部分旧服务器的解析兼容问题
- 文件名长度尽量控制在50字符以内,不要过长
- 不要使用操作系统保留关键字作为文件名,比如Windows系统的
con、nul、aux等
最快的解决方法是直接把文件名中的%删掉,重命名为100-satisfaction-guarantee-icon.png,同时同步修改img标签的src属性即可正常加载:
<img src="<?php bloginfo('template_directory'); ?>/images/100-satisfaction-guarantee-icon.png" alt="100% Satisfaction Guarantee" width="124" height="126" />
内容的提问来源于stack exchange,提问作者alancc
相关产品推荐
相关产品推荐

