【发布时间】:2013-11-16 05:46:10
【问题描述】:
我有下一条规则:
RewriteCond %{HTTP_REFERER} ^$ [OR]
RewriteCond %{HTTP_REFERER} !^https?://itransformer.*$ [NC]
RewriteRule \.(gif|jpe?g|png|wbmp)$ - [R=403,L]
在主 .htaccess 文件中。
当任何人尝试热链接图像时,他将得到 403 响应。但是,他收到了 404 响应。如果我评论上面的行,我不会收到错误。
似乎是由于 Twig 异常模板所致。
我正在覆盖 Twig 异常模板中的一些错误模板。
我已经通过添加文件成功覆盖了 404 错误模板:/app/Resources/TwigBundle/views/Exception/error404.html.twig。
并试图覆盖 403 错误模板。尝试添加:/app/Resources/TwigBundle/views/Exception/error403.html.twig 但未显示。
Apache 配置中没有ErrorDocument,也没有.htaccess 文件。
为什么会抛出 404 响应,什么时候应该抛出 403?
【问题讨论】:
-
你能测试一下:ReWriteRule .*\.(gif|jpe?g|png|wbmp)$ - [F]
-
我已经有一段时间没有使用 apache了,但是你的 RewriteRule 不应该有一个 URI 可以重定向到吗?或者'-'字符在这里暗示什么?
-
@Nealio -
-表示没有 URI 重定向。它应该只是抛出一个没有 URI 重定向的 403 响应。
标签: php .htaccess exception symfony twig