【问题标题】:Custom Error 403 Page PHP自定义错误 403 页面 PHP
【发布时间】:2012-01-31 23:27:42
【问题描述】:

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

【问题讨论】:

    标签: php apache .htaccess mod-rewrite http-status-code-403


    【解决方案1】:

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

    ErrorDocument 403 /dir/file.html
    

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

    【讨论】:

      【解决方案2】:

      您可以执行以下操作:

      
      #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 页面。我这样做是为了安全,所以用户不知道文件是否存在或者他们是否无权访问。

      【讨论】:

        【解决方案3】:

        您还可以通过 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>'
        

        【讨论】:

          【解决方案4】:

          没有一个对我有用。我必须编辑文件/etc/apache2/conf-enabled/localized-error-pages.conf 并添加以下内容

          ErrorDocument 403 "403, Ok!?"
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-06-11
            • 2013-08-04
            • 1970-01-01
            • 2011-03-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多