2

我想知道是否可以使用 mod rewrite 和 ErrorDocument 减速来根据请求的文件类型自定义错误页面。

例如,请求一个不存在的 html 或 php 文件 Apache 将提供很好的自定义 HTML 页面。

但是,如果请求一个不存在的图像、js、css 等文件,那么 Apache 将提供一个基本的 html 文件,上面只有一个链接。

这种行为的一个很好的例子是 Facebook。尝试请求一个虚假的 JavaScript 文件,您将收到一个不同的页面,然后如果您要请求一个不存在的 php 文件。

4

3 回答 3

3

最终使用 ErrorDocument 和 RewriteRules 的组合这是可行的,因为 php 页面为我抛出了 404 Not Found。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*(?<!.js|.css|.ico|.txt|.bmp|.gif|.png|.jpeg|.jpg)$ /error/404.php [L]

ErrorDocument 404 /404_basic.html
于 2010-01-26T08:18:56.923 回答
1

RewriteCond !-f与重写所需的输出页面和标志一起使用R=404

于 2010-01-26T07:08:48.550 回答
0

您可以为 404 页面使用 PHP 脚本:

ErrorDocument 404 /error404.php

在那里,您可以使用 PHP 分析 URL 路径(请参阅$_SERVER['REQUEST_URI']参考资料)并确定已请求或预期的资源类型。

于 2010-01-26T08:31:12.747 回答