需要帮助了解RewriteRule以使404返回默认文件而不是404

时间:2016-12-16 18:06:24

标签: .htaccess mod-rewrite url-rewriting

我有一条规则(有效)。它检查.png文件是否返回404.如果是,则发送默认的png图像文件。

RewriteCond %{REQUEST_FILENAME} !-f    
RewriteRule ^(.*)\.png /sites/all/libraries/somefolder/404.png [L]

我希望这只能查看特定文件夹(而不是匹配每个.png)。我试过这个:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^/sites/all/libraries/somefolder/(.*)\.png /sites/all/libraries/somefolder/404.png [L]

但它不起作用。这有什么问题?

1 个答案:

答案 0 :(得分:0)

请勿仅使用<dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> <version>2.8.5</version> </dependency> 执行此操作。您希望提供适当的内容类型很好,但按照您的建议进行操作,@ anubhava的评论仍然会返回more_rewrite响应。

相反,请将200 OK设置为指向和/或故意将此类请求重定向到404脚本,例如在PHP中。此脚本应设置404状态标头,然后根据随请求发送的ErrorDocument 404 …标头读出内容类型的文件,您可能只需要3种类型,纯文本,html和图片Accept