.htaccess和用于不同文件类型的自定义错误文档
我想知道是否可以使用mod rewrite和ErrorDocument来定制错误页面,具体取决于请求的文件类型 例如,请求一个不存在的html或php文件,Apache将提供一个漂亮的自定义html页面 但是如果一个不存在的图像,js,css等等。。。文件被请求后,Apache将提供一个基本的html文件,其中只有一个链接.htaccess和用于不同文件类型的自定义错误文档,.htaccess,mod-rewrite,errordocument,.htaccess,Mod Rewrite,Errordocument,我想知道是否可以使用mod rewrite和ErrorDocument来定制错误页面,具体取决于请求的文件类型 例如,请求一个不存在的html或php文件,Apache将提供一个漂亮的自定义html页面 但是如果一个不存在的图像,js,css等等。。。文件被请求后,Apache将提供一个基本的html文件,其中只有一个链接 Facebook就是一个很好的例子。尝试请求一个伪造的JavaScript文件,如果您请求一个不存在的php文件,您将收到一个不同的页面。使用RewriteCond-f以及对
Facebook就是一个很好的例子。尝试请求一个伪造的JavaScript文件,如果您请求一个不存在的php文件,您将收到一个不同的页面。使用
RewriteCond-f
以及对所需输出页面的重写和标记R=404
最终使用了ErrorDocument和RewriteRules的组合。这是有效的,因为php页面抛出了一个404 Not Found for me
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
RewriteCond%{REQUEST\u FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则。*(?您可以为404页面使用PHP脚本:
ErrorDocument 404 /error404.php
在那里,您可以使用PHP分析URL路径(请参阅)并确定已请求或预期的资源类型。我知道您要去哪里。唯一的问题是我不想重定向到新的URL,我只想在请求的URL上有一个404页面。R
如果代码在3XX之外,则只会执行内部重定向。只需将其指向error404.js或error.css或其他什么。我是原创的我希望做的是减少对服务器的PHP请求数量。AWinter:ErrorDocument只会导致一次PHP调用。