htaccess登录多域名

时间:2012-05-21 12:09:11

标签: .htaccess login

我有一个多域网站(自定义CMS),其中所有网站都有相同的文档。根据网址(域),它将提供不同的网站。只有1个root,他们也只有1个.htaccess

现在我想通过简单的.htacess登录(like this

保护1个域名

如何指定此域名登录?

2 个答案:

答案 0 :(得分:3)

您可以使用mod_setenvif支持仅保护您的某个域。以下是您需要在.htaccess下的常见$DOCUMENT_ROOT中添加的代码:

SetEnvIfNoCase Host ^www\.subdomain\.com$ SECURED=yes

AuthType Basic
AuthName "My Protected Area"
AuthUserFile /your/path/to/passwords
Require valid-user
Satisfy         any
Order           allow,deny
Allow from      all
Deny from       env=SECURED

以上代码将仅显示www.subdomain.com的基本身份验证弹出窗口,同时保持其他域名处于打开状态。

答案 1 :(得分:1)

要启用.htpasswd文件,您必须使用该受保护域的特定子目录。诀窍是根据docroot %{HTTP_HOST}文件中的.htaccess变量使用基于子域的内部重定向,例如

RewriteEngine On
RewriteBase   /

RewriteCond   %{HTTP_HOST}   =admin.example.com
RewriteRule   ^(?!admin).*   admin/$0               [L]

这将在内部将任何htttp://admin.example.com/引用重定向到DOCROOT / admin子目录,该子目录可以有自己的.htaccess.htpasswd文件。

您可能需要将符号链接和CMS条目脚本和子目录返回到共享实例。 This就是我为phpBB做的这个。