多域多商店设置的部分 http 身份验证
partial http auth on multidomain multi store setup
我在多商店设置中有两个域指向同一个文件库(商店)。假设我有这些网址:
www.first-shop.xyz
www.second-shop.xyz
现在我需要用密码保护第二个 shop.xyz 而不影响另一个。是否可以在 htaccess 中设置条件验证?
无法在 .htaccess-File.
中进行管理
但是可以用 PHP-HTTP-Auth 来完成。
因此可以根据所需域检查 $_SERVER['SERVER_NAME']
,然后 return header 401 如果 $_SERVER['PHP_AUTH_USER']
和 $_SERVER['PHP_AUTH_PW']
与凭据不匹配.
如果这两个身份验证变量在填写提示后保持为空,您将需要一个 .htaccess 重写规则:
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authori
zation}]
获取环境变量中的 auth 变量并将它们分配给上述变量:
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
我在多商店设置中有两个域指向同一个文件库(商店)。假设我有这些网址:
www.first-shop.xyz
www.second-shop.xyz
现在我需要用密码保护第二个 shop.xyz 而不影响另一个。是否可以在 htaccess 中设置条件验证?
无法在 .htaccess-File.
中进行管理但是可以用 PHP-HTTP-Auth 来完成。
因此可以根据所需域检查 $_SERVER['SERVER_NAME']
,然后 return header 401 如果 $_SERVER['PHP_AUTH_USER']
和 $_SERVER['PHP_AUTH_PW']
与凭据不匹配.
如果这两个身份验证变量在填写提示后保持为空,您将需要一个 .htaccess 重写规则:
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authori
zation}]
获取环境变量中的 auth 变量并将它们分配给上述变量:
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));