php – 3种不同环境下的3个htaccess保护规则

我需要保护我网站的不同标准,具体取决于我正在处理的环境.

我有三种不同的环境:

> localhost:什么都不保护
> www.test.example.com:保护整个网站(这是一个测试网站,所以我不希望它可以访问)
> www.example.com:仅保护/ admin url(实时网站,仅限/ admin受保护)

现在,我使用不同的htaccess文件.

对于test.example.com,我添加:

AuthUserFile mypasswordfile
AuthType Basic
AuthName "Enter password"
require valid-user

对于example.com,我添加:

SetEnvIf Request_URI /admin/? auth=1
AuthUserFile mypasswordfile
AuthType Basic
AuthName "Enter a password"
Order Deny,Allow
Deny from all
Allow from env=!auth
Require valid-user
Satisfy any

有没有办法只使用一个有条件的htacess有类似的东西

if(localhost)         { do nothing }
if(test.example.com)  { require valid user on all domain }
if(example.com)       { require valid user only on /admin}

最佳答案 你可以使用这个组合.htaccess:

# require valid user only on /admin
SetEnvIf Request_URI ^/admin(/|$) auth=1
# if(test.example.com)  { require valid user on all domain }
SetEnvIf Host ^test\.example\.com$auth=1
# if(localhost)         { do nothing }
SetEnvIf Host ^localhost$!auth

AuthUserFile mypasswordfile
AuthType Basic
AuthName "Enter a password"
Order Deny,Allow
Deny from all
Allow from env=!auth
Require valid-user
Satisfy any
点赞