自定义错误403页PHP

far*_*oer 16 php apache .htaccess mod-rewrite http-status-code-403

我在一个目录中创建了一个.htaccess,我不希望直接访问这些文件.它可以工作并触发Apache服务器的默认403页面(Access forbidden!).如何创建自定义403页面?谢谢!

JK.*_*JK. 32

在.htaccess文件中,您可以指定要作为默认403错误文档的文档

ErrorDocument 403 /dir/file.html

这里的目录是相对于文档根目录的.


Ara*_*ara 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
Run Code Online (Sandbox Code Playgroud)

这样做是打开RewriteEngine所以我们可以很好地重定向url,然后我们使用RewriteRule来定义/ 404 /或/ 404应该重定向到自定义404页面.然后我声明ErrorDocument 404和403应该重定向到404页面.我这样做是为了安全,因此,用户不知道文件是否存在或者他们是否只有访问权限.


B.K*_*B.K 5

您还可以通过 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>'
Run Code Online (Sandbox Code Playgroud)