在我的开发机器OSX-塞拉利昂/Apache2.4.10(来自brew)中,我在VirtualHost中有一个允许访问/api/没有密码的限制,所有其他页面都需要这个密码:
AuthType Basic
AuthName "Access"
AuthUserFile /Users/xxxxxx/www/public/.htpasswd
Require expr %{REQUEST_URI} =~ m#^/api/*#
Require valid-user当我尝试在生产服务器上使用相同的指令Debian-jessie / apache 2.4.29 (来自apt)时,它不起作用,密码总是被问(chrome/safari/wget),我尝试了这些解决方案:
1/
AuthType Basic
AuthName "Access"
AuthUserFile /home/xxxxxx/www/public/.htpasswd
Require expr %{REQUEST_URI} =~ m#^/api/*#
Require valid-user2/
AuthType Basic
AuthName "Access"
AuthUserFile /home/xxxxxx/www/public/.htpasswd
Require expr %{REQUEST_URI} =~ m#^/api/.*#
Require valid-user知道为什么会有这些差异吗?
谢谢
发布于 2018-01-31 09:05:45
这是指令不起作用的完全虚拟主机:
DocumentRoot /home/xxxxxx/www/public
ServerName xxxxxx.com
Header set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, PUT, GET, DELETE, OPTIONS"
Header always set Access-Control-Allow-Headers "x-so-resource, x-so-apikey, x-so-apisecret, x-token, Authorization, Content-Type"
php_value include_path "/home/xxxxxx/libs/ZendFramework-1.11.11/library"
Options +FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
ServerSignature Off
AddDefaultCharset UTF-8
php_value short_open_tag 0
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
AuthType Basic
AuthName "Access"
AuthUserFile /home/xxxxxx/www/public/.htpasswd
Require valid-user
ErrorLog /var/log/apache2/xxxxxxxx-error.log
CustomLog /var/log/apache2/xxxxxxxx-access.log combinedhttps://serverfault.com/questions/894798
复制相似问题