我希望所有带有*.domainname.com的子域都有一个httpasswd保护,但是2 ips允许在没有凭据的情况下使用。
<Directory /home/www/clients>
AuthUserFile /home/www/.htpasswd
AuthName "Acceso Privado"
AuthType Basic
Require valid-user
SetEnvIf Host domainname.com secure_content
Order Allow,Deny
Allow from all
Deny from env=secure_content
Allow from XX.XX.XX.XX
Allow from XX.XX.XX.XX
Satisfy Any
</Directory>但是/home/www/客户端中托管的所有域都要求我提供凭据:
<VirtualHost *:80>
ServerAdmin root@domainname.com
ServerName trademark.domainname.com
ServerAlias www.trademark.domainname.com
DocumentRoot /home/www/clients/trademark/htdocs/
<Directory /home/www/clients/trademark/htdocs>
Options none FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/trademark/trademark_error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/trademark/trademark_access.log combined
</VirtualHost>发布于 2015-02-10 23:46:05
我为apache版本找到了一个大于或等于2.4的解决方案
<Directory /home/www/clients>
<If "%{REMOTE_ADDR} != 'XX.XX.XX.XX' && %{REMOTE_ADDR} != 'XX.XX.XX.XX' && %{HTTP_HOST} -strcmatch '*.domainname.com'">
AuthUserFile /home/www/.htpasswd
AuthName "Acceso Privado"
AuthType Basic
Require valid-user
</If>
</Directory>https://stackoverflow.com/questions/28437416
复制相似问题