如何使用httpd.conf来锁定根目录下的index.php,而不是锁定子目录中的index.php文件

时间:2014-09-15 19:22:22

标签: php apache

Windows Server 2003 R2标准x64 Edition Service Pack 2,Apache 2.4.4,PHP 5.4.16(x86)

我的大多数目录都包含一个index.php文件,我使用httpd.conf文件将其设置为DirectoryIndex。

以下是我的httpd.conf文件中的一些文字

DocumentRoot "c:/wamp/www"
<Directory "c:/wamp/www">
    Options -Indexes
    AllowOverride All
    Order Allow,Deny
    Allow from all
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<Directory "C:/wamp/www/subdirectory">
    Options -Indexes
    DirectoryIndex index.php
    Order deny,allow
    Allow from all
</Directory>

<Files "index.php">
    AuthType Basic
    AuthName "srvname"
    AuthUserFile "C:/wamp/.htpasswd"
    Require valid-user
    Order deny,allow
    Allow from all
</Files>

上述配置导致 servername / subdirectory / index.php和servername / index.php提示输入用户名和密码。

尝试使用Files指令更具体,如下所示,导致既没有 servername / subdirectory / index.php也没有提示输入密码的servername / index.php。

<Files "C:/wamp/www/index.php">
    AuthType Basic
    AuthName "srvname"
    AuthUserFile "C:/wamp/.htpasswd"
    Require valid-user
    Order deny,allow
    Allow from all
</Files> 

我真正想要完成的是密码保护我的WampServer配置页面。有人可以告诉我如何使用httpd.conf中的Files指令专门在C:/wamp/www/index.php上,而不是锁定我的所有index.php页面?

1 个答案:

答案 0 :(得分:0)

检查你的apache.conf文件,它应该有:

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy all
</Files>

隐藏文件的东西是从#34; .ht&#34;无处不在。