Apache 在特定 URL 模式下出现 404 错误时显示默认图像

标签 apache .htaccess http-status-code-404 url-pattern

在基于纯客户端的 Web 应用程序中,我需要显示有时不存在的背景图像。当特定的 URL 模式返回 404 错误时,有没有办法“强制”Apache 提供图像?

可能返回 404 的 URL 模式是:

http://host/assets/user-images/xxxxx.jpg

我想在哪里提供图像:

http://host/assets/user-images/default.jpg

注意:

我已经使用了 .htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

最佳答案

在文件“/assets/user-images/.htaccess”中添加以下内容

RewriteCond %{REQUEST_URI} ^/assets/user-images/(.*)\.jpg$ 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ default.jpg

第一个 RewriteCond 将检查传入的请求是否针对/assets/user-images/下的 jpg 文件,第二个带有 -f 选项的 RewriteCond 将检查请求的文件是否存在。如果它不存在,则 RewriteRule 将提供默认图像。
最终用户仍将看到原始图像的 URL,但将提供默认图像。
如果原始图像文件存在,则不会执行此规则。

关于Apache 在特定 URL 模式下出现 404 错误时显示默认图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36517861/

相关文章:

php - htaccess SEO url 包含样式失败.. 如何解决这个问题?

.htaccess - SEO 友好的 URL 和 .htaccess

php - 使用 .htaccess 重写多个 URL

php - 将子目录中的 JSON 索引文件重定向到 PHP Controller

分享链接时 Facebook 显示找不到页面

javascript - Angular 应用程序在 github.io 上抛出 404 错误

rest - 404 未找到或请求错误?

python - VirtualEnv apache2 服务器没有名为 'django' 的模块

php - 在 apache 中出现任何错误时显示 500 错误

windows - tomcat8在windows上如何关闭自动启动