我有下一条规则:

RewriteCond %{HTTP_REFERER} ^$ [OR]
RewriteCond %{HTTP_REFERER} !^https?://itransformer.*$ [NC]
RewriteRule \.(gif|jpe?g|png|wbmp)$ - [R=403,L]

在主.htaccess文件中。
当任何人试图热链接图像时,他将得到403响应。不过,他得到了404的回复。如果我评论上面的几行,就不会出错。
似乎是由于树枝异常模板。
我正在覆盖来自树枝异常模板的一些错误模板。
通过添加文件:/app/Resources/TwigBundle/views/Exception/error404.html.twig,我已成功覆盖404错误模板。
并尝试重写403错误模板。尝试添加:/app/Resources/TwigBundle/views/Exception/error403.html.twig但未显示。
apache配置中没有ErrorDocument文件,也没有.htaccess文件。
为什么它会抛出404响应,而应该抛出403响应?

最佳答案

你能试试这个规则吗:

RewriteCond %{HTTP_REFERER} !^https?://mysite\.com [NC]
RewriteRule \.(gif|jpe?g|png|wbmp)$ - [NC,F]

关于php - 当应该抛出403时抛出404响应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19787522/

10-12 05:38