1

假设我有一个由“dev.server”和“server.site.com”共享的 htaccess 文件。

第一个域应该允许所有用户不受挑战地访问它(它只存在于我的本地开发服务器上)。

我想使用 Apache 验证用户的第二个域(不是通过数据库)。

验证用户的代码是:

AuthType Basic
AuthName "Server Admin"
AuthUserFile "/path/to/passwd"
require valid-user

我不能做的是让这 4 行仅在域是“server.site.com”时才重要。我怎样才能做到这一点?

我搜索了类似的东西,<IfEnv HTTP_HOST "site.server.com">但没有运气。

4

2 回答 2

2

这似乎有效,但仍需要对其进行一些测试。

Order Deny,Allow
Deny from all

SetEnvIf Host domain.for.no.auth dev
Allow from env=dev

AuthUserFile .pwd
AuthType Basic
AuthName MySite
Require valid-user
Satisfy Any
于 2010-04-07T22:49:08.140 回答
0

据我所知,这不能在.htaccess 文件中完成。您必须将其放入DirectoryorVirtualHost部分,这两者都不能在.htaccess文件中使用。

您必须在两个单独的文件中定义它,或者直接在该VirtualHost部分的服务器配置中定义它。

于 2010-04-07T22:33:42.663 回答