HTAccess多正则URL重写:缺失图片重定向至对应尺寸占位图求助
解决缺失TOC图片重定向到对应尺寸占位图的问题
你的第二条注释规则未生效,核心问题是正则匹配范围不全,且第一条规则会优先拦截请求。按以下步骤调整即可实现需求:
- 注释/删除第一条固定指向960尺寸的规则
- 修改第二条规则的正则表达式,确保能精准匹配带后缀的缺失图片URL,同时保留尺寸目录的捕获参数
修改后的完整规则如下:
## PLACEHOLDER FOR MISSING TOC IMAGES ## RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} \.(gif|jpg|jpeg|png)$ ## REPLACE MISSING IMG WITH IMAGE FROM THE SAME SIZE DIRECTORY## RewriteRule ^img/toc/([0-9]+)/.*\.(gif|jpg|jpeg|png)$ img/toc/$1/toc-placeholder.jpg [L]
规则说明:
^img/toc/([0-9]+)/:匹配以img/toc/开头的路径,捕获尺寸目录的数字(如640、320)并存储为$1.*\.(gif|jpg|jpeg|png)$:匹配尺寸目录后的任意文件名及图片后缀,确保只针对图片文件生效img/toc/$1/toc-placeholder.jpg:将缺失图片请求重定向到对应尺寸目录下的占位图,$1自动替换为捕获的尺寸数字[L]:标记为最后执行的规则,匹配后不再处理后续重写规则
效果验证:
当请求/img/toc/640/toc-074.jpg且该文件不存在时,会自动跳转到/img/toc/640/toc-placeholder.jpg;请求/img/toc/1080/toc-456.png不存在时,会跳转到/img/toc/1080/toc-placeholder.jpg,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者Raseone
相关产品推荐
相关产品推荐

