.htaccess 和针对不同文件类型的自定义 ErrorDocument
我想知道是否可以使用 mod 重写和 ErrorDocument 减速来根据请求的文件类型来自定义错误页面。
例如,请求一个不存在的 html 或 php 文件,Apache 将提供漂亮的自定义 HTML 页面。
但是,如果请求一个不存在的图像、js、css 等文件,那么 Apache 将提供一个基本的 html 文件,其中只有一个链接。
Facebook 就是这种行为的一个很好的例子。尝试请求一个伪造的 JavaScript 文件,如果您请求一个不存在的 php 文件,您将收到一个不同的页面。
I'm wondering if it's possible to use mod rewrite along with the ErrorDocument deceleration to customize the error pages depending on what type of file is requested.
For example a non-existent html or php file is requested Apache will give nice custom HTML page.
But if a non-existent image, js, css, etc... file is requested then Apache will serve out a basic html file with only a link on it.
A good example of this behavior is Facebook. Try requesting a bogus JavaScript file, you will receive a different page then if you were to request a non-existent php file.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
最终使用 ErrorDocument 和 RewriteRules 的组合,这有效,因为 php 页面对我抛出 404 Not Found 。
Ended up using a combination of both ErrorDocument and RewriteRules this works because the php page throws a 404 Not Found for me.
使用
RewriteCond !-f
以及对所需输出页面的重写和R=404
标志。Use
RewriteCond !-f
along with a rewrite to the desired output page and a flag ofR=404
.您可以为您的 404 页面使用 PHP 脚本:
您可以在其中使用 PHP 分析 URL 路径(请参阅
$_SERVER['REQUEST_URI']
)并确定已请求或期望的资源类型。You could use a PHP script for your 404 page:
There you can analyze the URL path with PHP (see
$_SERVER['REQUEST_URI']
) and determine what kind of resource has been requested or is expected.