我在一个目录中创建了一个.htaccess,我不希望直接访问这些文件。它可以工作并触发Apache服务器的默认403页面(Access forbidden!)。如何创建自定义403页面?谢谢!
答案 0 :(得分:32)
在.htaccess文件中,您可以指定所需的文档作为默认的403错误文档
ErrorDocument 403 /dir/file.html
此处该目录相对于文档根目录。
答案 1 :(得分:10)
您可以执行以下操作:
#Rewrite URL's
RewriteEngine On
RewriteRule ^404/?$ errors/404.html [NC]
# Enable Error Documents
# (404,File Not Found) | (403,Forbidden) | (500,Internal Server Error)
ErrorDocument 404 /404
ErrorDocument 403 /404
这样做是打开RewriteEngine所以我们可以很好地重定向url,然后我们使用RewriteRule来定义/ 404 /或/ 404应该重定向到自定义404页面。然后我声明ErrorDocument 404和403应该重定向到404页面。我这样做是为了安全,因此,用户不知道文件是否存在或者他们是否只是无法访问。
答案 2 :(得分:0)
您还可以通过ErrorDocumnet在.htaccess文件中添加自定义内联错误消息,如下所示:
ErrorDocument 403 '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>403 Forbidden</title></head><p>Sorry, access to this page is forbidden.</p></body></html>'