具有.htaccess的特定用户的特定文件夹访问规则

时间:2015-08-18 11:16:36

标签: apache .htaccess ubuntu

通过以下设置,user-1user-2可以在登录后访问site-1site-2。但是,我想更改下面列出的访问权限:

  • user-1只能访问site-1http://test.local/site-1
  • user-2只能访问site-2http://test.local/site-2

我该怎么做?

网站结构

test
   site-1
      index.php
   site-2
      index.php
   index.php
   .htaccess
   .htpasswd

的.htaccess

AuthType Basic
AuthName "Protected Test Site"
AuthUserFile /var/www/html/local/test/.htpasswd
Require valid-user

htpasswd的

user-1:$apr1$CraA.0n7$JRqS7GyggMKNYcTP65rAW/
user-2:$apr1$NbKoZeyJ$P33C/1ceg1XGfLaPsWBgW1

test.local.conf

<VirtualHost *:80>
        ServerName test.local

        DocumentRoot /var/www/html/local/test

        <Directory /var/www/html/local/test>
                AllowOverride AuthConfig
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>

2 个答案:

答案 0 :(得分:0)

要么改变:

Require valid-user

为:

Require user user-1

或者创建两个组文件,并将该行更改为以下行中的某些内容:

Require group siteOneUsers

请参阅:http://httpd.apache.org/docs/2.2/mod/core.html#require

答案 1 :(得分:0)

除了我上面在OP中所做的,我解决了在site-1site-2内创建其他.htaccess文件的问题,因此内容为:

网站-1 / htaccess的

AuthUserFile /var/www/html/local/test/.htpasswd
Require user user-1

网站-2 / htaccess的

AuthUserFile /var/www/html/local/test/.htpasswd
Require user user-2