我的.htaccess文件有什么问题?

时间:2013-12-18 02:15:07

标签: php .htaccess

设计用于在有人输入正确的凭据时显示特定错误.php页面,但似乎提出了自己的凭据。同时保护我的所有目录,无论它放在哪个目录中。 有777许可。

ErrorDocument 401 Mywebsite.com/CustomError.php

AuthName "My Password Protected Site" AuthUserFile
MYwebsite.com/Folder/.htpasswd 
AuthType Basic
Require valid-user

# Set REMOTE_USER env variable on 401 ErrorDocument
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:REDIRECT_STATUS} ^401$
RewriteRule .* - [E=REMOTE_USER:%{ENV:REDIRECT_REMOTE_USER}]

以下是截至目前的说法:

需要授权

此服务器无法验证您是否有权访问所请求的文档。您提供了错误的凭据(例如,密码错误),或者您的浏览器不了解如何提供所需的凭据。

我曾经将spefic目录作为/ folder / file而不是website / folder / file但是当我这样做时,错误页面也会有这一行:

此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。

1 个答案:

答案 0 :(得分:0)

这一行:

ErrorDocument 401 Mywebsite.com/CustomError.php

根据documentation

  

URL可以以本地Web路径的斜杠(/)开头(相对于DocumentRoot),也可以是客户端可以解析的完整URL。或者,可以提供消息以由浏览器显示。例子:

     

ErrorDocument 500 http://foo.example.com/cgi-bin/tester
  ErrorDocument 404 /cgi-bin/bad_urls.pl
  ErrorDocument 401 /subscription_info.html
  ErrorDocument 403 "Sorry can't allow you access today"

     

此外,特殊值默认值可用于指定Apache的简单硬编码消息。虽然在正常情况下不需要,但默认情况下将恢复Apache的简单硬编码消息,以用于继承现有ErrorDocument的配置。

     

ErrorDocument 404 /cgi-bin/bad_urls.pl

     

<Directory /web/docs>
  ErrorDocument 404 default
  </Directory>

因此,您不能将Mywebsite.com/CustomError.php作为第二个参数,它必须是以http://开头的完整网址,以/开头的绝对路径或消息。您不能将相对路径作为第二个参数。