Apache mod_auth_form导致内部服务器错误500

时间:2013-02-23 15:29:37

标签: php html forms apache login

我已将服务器设置为要求对所有目录进行身份验证。我正在使用Apache的mod_auth_form来生成内联登录表单,以便保留HTTP_REQUEST,以便模块可以将用户保留在他们在使用登录表单时指定的任何文件/目录中。

我的问题是:我导航到域(example.com)并显示登录表单。好。我使用不正确的凭据登录,登录表单再次显示。好。我输入正确的凭据,得到内部服务器500错误。

然而,我不明白的一件奇怪的事情是,如果我要访问一个目录(example.com/images/),就会显示登录表单,如果我登录,它会正确记录我in并显示/ images的目录索引。这适用于任何子目录,甚至可以使用我在http.conf中创建的任何别名子目录。

它搞砸的唯一时间就是根/域级别。我输了。

以下是来自http.conf的相关信息 - 如果需要任何进一步的信息,请告诉我。

# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other 
# <Directory> blocks below.
<Directory />
    Options FollowSymLinks Indexes
    AllowOverride All
    Require all granted
</Directory>

--------------------------------------------------------

DocumentRoot "E:/"
# This should be changed to whatever you set DocumentRoot to.
# ======================================================
# !!! DO NOT CHANGE THIS LINE AND THE FOLLOWING ONES !!!
# DocumentRootDirectory 
<Directory "E:/">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

--------------------------------------------------------

<IfModule alias_module>
    Alias /images_easyphp "${path}/home/server_images"

    <Directory "${path}/home/server_images">
        Options Indexes MultiViews
        AllowOverride None
        Allow from all
        Require all granted
    </Directory>

    <Directory "E:/">
        Options FollowSymLinks Indexes
        AuthFormProvider file
        AuthType form
        AuthName "Restricted Access"
        Session On
        SessionCookieName session path=/
        require valid-user
        ErrorDocument 401 /WWW/login/index.php
        AuthUserFile "c:/server/apache/passwd"
    </Directory>

    <Directory "E:/WWW/login">
        Options FollowSymLinks Indexes
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>

    <Location /logout>
        SetHandler form-logout-handler
        AuthFormLogoutLocation http://domain.com
        Session On
        SessionMaxAge 1
        SessionCookieName session path=/
    </Location>

    ScriptAlias /cgi-bin/ "${path}/apache/cgi-bin/"
</IfModule>

另外值得一提的是,如果我访问一个子目录并成功登录,我可以回到root / domain级别,加载就好了没有500错误。

0 个答案:

没有答案