我被问到以下内容(网站上有Drupal):
1. Create a website B
2. Make that website available only through another website A
3. Every first entry to website B happens through website A
so that google analytics sessions increase in website A
4. Users can´t enter website B unless going through website A first
5. In order for the user to access Website B they want to type a human readable name.
我的逻辑和基本知识告诉我:
A)
网站B 将没有人类可读的域名(它只会有一个IP地址),但每次用户移动网站B 时,我都需要查找一个模块,用于将该IP地址转换为人类可读的名称(在DNS中不存在,但我拥有域名),以便用户不在URL上查看IP数字地址。
B)
不知何故,某处我需要将 fathersite.com/childsite 翻译或重写为192.168.58.1,以便用户通过父亲身份进入实际网站(因此,父亲可以访问处理)。
C)
B)之前我将不得不告诉我的DNS服务器将域 coolsite.com 翻译为指向 fathersite.com/childsite 。
实际流程将如何生效
浏览器中的用户类型:coolsite.com
DNS会将其转换为fathersite.com/childsite
当浏览器尝试在 fathersite.com 中访问该页面时,它的.htaccess文件(可能?)会将其重定向到“192.168.58.1”。
位于192.168.58.1
的Drupal网站将有一个模块(希望它已经存在),它将浏览器框中的文本更改为“childsite.com”。由于childsite.com
是我拥有的域,但没有指向我的DNS服务器上的任何IP地址,如果任何人试图在浏览器中访问它,他们只会得到“服务器在无法找到childsite.com,因为DNS查找失败“
我的逻辑绝对错了吗?甚至可以这样做吗?
感谢您的时间。
答案 0 :(得分:0)
可以完成,但您必须为两者设置DNS
。否则,当人们复制并粘贴链接时,他们就无法工作。如果某人正在浏览页面,则该域必须是公开可用的(或者如果在内部网络中则是私有的)。
基本上你正在寻找的是登录类型的概念。即使没有实际的用户名/密码。让每个coolsite页面(包含在标题块中)运行一点JS
来检测cookie。如果找到,什么都不做。如果没有,请回到父亲门户网站。当他们点击要访问子网站的任何内容时,它会在查询字符串值中POST
,并且接收页面会设置cookie。
因此,如果他们试图直接转向它,他们就不会拥有饼干并被反弹到父亲的门户处,以便能够使用,而且可以浏览到合成石。