除非使用.htaccess登录,否则将所有流量重定向到保留页面

时间:2013-03-22 04:49:54

标签: apache .htaccess .htpasswd

我目前在我的domain.com上设置了一个已经接收流量的着陆页。

不久将被在线商店取代。我需要将此商店上传到我的实时服务器,以便获得商家设施提供商(MFP)的批准,并且要求可以从domain.com上的最终实时位置访问该商店以获得批准。在达到批准之前,我无法让用户访问此网站。

要实现此目的,我希望将所有domain.com流量重定向到domain.com/holding/,但MFP访问者除外。

理想情况下,这会受到IP地址的限制,但MFP表示他们需要授予许多外部用户访问权限,因此基于IP地址的访问权限是不可接受的,我应该使用密码。

所以我的问题是,除非他们使用domain.com/login上的密码登录,否则如何自动将所有流量从domain.com重定向到保留页面domain.com/holding/? 不应要求访问domain.com的用户输入密码。

使用.htaccess / .htpasswd可以实现吗? 如果是这样,有人可以建议它如何运作的逻辑吗?

2 个答案:

答案 0 :(得分:1)

仅使用.htaccess文件是不可能的,因为如果您在doc_root级别的domain.com网站上启用了HTTP标准身份验证对话框,则会向其显示所有访问者。

不知道您使用的是哪种脚本语言? (您没有在标签中指出,只是apache),但您可以提供一个索引页面,既可以充当用户/潜在用户的登录页面,也可以为MFP方提供登录(用户名/密码表单)(无论他们来自哪里)。

这样,您可以满足这两种需求,而不会以任何方式冒犯或歧视任何一方。

答案 1 :(得分:0)

正如@nickhar指出的那样,使用.htaccess似乎无法做到这一点。 我的解决方案是使用重写规则将所有请求从domain.com重定向到domain.com/holding,除非设置了特定的cookie(使用RewriteCond%{HTTP_COOKIE}进行检查)。 我在domain.com/login上的php脚本中设置了这个cookie,该脚本使用.htaccess / .htpasswd进行密码保护。

这绝不是一种特别安全的解决方案,但足以满足我在批准过程完成时保持网站不受一般流量影响的目的。