有一个网站www.example.net
,其主页上有一个Forum
链接,指向forum.example.com/content
。
我发现主站点是使用.NET Framework开发的,论坛是使用基于PHP的vBulletin
构建的。
这两个不同的域名吗?
换句话说,Visual Studio Project Forum
中的www.example.net
某些文件夹是否作为ASP.NET网站的一部分运行?或"forum.example.com/content
是指向一个完全不同的网站的链接?
答案 0 :(得分:7)
IIS可以运行PHP代码,请参阅here。
因此,如果两者都来自同一台服务器,那么/content
部分可能是一个虚拟目录或应用程序,它将php作为同一站点的一部分运行。
但是,您的域名不同 - .co.uk
和.com
可以很容易地成为不同的服务器和网站。找出的最简单方法是ping
每个域,看看他们是否使用不同的IP地址。如果是这样,他们很可能是不同的服务器和站点(虽然不是绝对肯定)。
答案 1 :(得分:3)
可能是各种各样的设置。
例如 forum.blahblah.com/content 和 www.blahblah.co.uk 可以位于地球两端的完全不同的机器上。
仅仅因为域名相似并不一定意味着底层实现已经加入。
尝试对域名进行DNS查找,并使用一些网络工具来调查网站的IP地址 - 这可能会对其有所了解。
就个人而言,如果我的主站点是.NET,而我正在添加第三方PHP论坛 - 我会将其粘贴在另一台机器上。
更新以回应“你为什么要求”评论讨论,
“基本上试图弄清楚如何让asp.net网站和基于php的论坛一起工作”
我不会太忙于让他们在一台机器上一起工作。 我花了好几个小时试图解开,分离和模块化我的代码,所以我讨厌看到你努力将你的合并在一起。 ; O)
将它们保持为独立的系统并在它们之间定义HTTP接口可能更简单。
如果您希望两个组件都“一次登录”,那么可以将它们分开并使用OpenID之类的内容共享身份 - http://openid.net/developers
引用:“OpenID是一种分散的身份验证协议”
这段关于REST的视频是对HTTP(通常被忽视)的强大介绍 - http://www.youtube.com/watch?v=YCcAE2SCQ6k
引用:“REST是今天工作的网络架构......你不应该使用架构而不是反对它”
也许在他的DDD书中查找Eric Evan关于“分开方式”的章节。
引用:“整合总是很昂贵。有时效益很小”
所有这些都是非语言特定的解决方案。
此外,您可能会发现有关BBC如何整合其网站的讨论。 - http://www.infoq.com/presentations/web-20-bbc-scaling
要点:它们尽可能地将所有内容分开,很少在简单的HTTP请求之外的任何机器之间发送消息。即它们避免了远程SQL查询,因为它们更难跟踪和记录。
**邪恶的角色编码问题**
当您开始编写自己的“网络阅读器”时,也值得了解字符编码问题:
阅读本文,Stackoverflow先生本人,Joel Spolsky:
绝对最低每个软件开发人员绝对必须知道Unicode和字符集(没有借口!) - http://www.joelonsoftware.com/articles/Unicode.html
**用户看到的内容**
好的 - 这是关于让两个系统在网络上协同工作。但是,如果您想要一个接口,一个域名充当“网关”,那么您可以选择将ASP服务器或PHP Lamp Server作为“前端”。这是它变得复杂的地方。 我只知道Apache,而不是MS ..so
我运行了许多具有不同IP地址的站点,这些站点托管在不同的计算机上 - 但所有这些站点的代码都位于一台计算机上。每个 Satellite Sites 只需将HTTP请求代理到我的' Origin Server ',然后将重新发送回用户。
这是使用apache的代理功能完成的。 - http://httpd.apache.org/docs/2.0/mod/mod_proxy.html
引用:
反向代理的典型用法是 为互联网用户提供访问权限 防火墙后面的服务器。 反向代理也可以用于 在几个后端之间平衡负载 服务器,或提供缓存 较慢的后端服务器。此外, 反向代理可以简单地用于 把几台服务器放在一起 网址空间。
为头痛做好准备 - 但凭借奉献精神,可以拥有两个服务器一个域名。
参见:mod rewrite:
引用:
'proxy | P'(强制代理)
此标志强制替换部分在内部 作为代理请求发送和 立即(重写处理停止 这里)通过代理模块。 你必须确保 替换字符串是有效的URI (通常以...开头 http://hostname)可以处理 由Apache代理模块。如果不, 您将从代理中收到错误 模块。使用此标志来实现 更强大的执行 ProxyPass指令,用于映射远程 内容进入命名空间 本地服务器。
Note: mod_proxy must be enabled in order to use this flag.
我和你一样,也试图想出这些东西。诀窍是知道正确的词语。
以下短语可能更有可能成为您答案的关键
...比这些短语:
答案 2 :(得分:1)
可以在同一主机服务器上运行Asp.NET和PHP。所以他们可能在同一台服务器上。
查明它们是否在不同服务器上的另一种方法是ping网址,看看它们是否解析为同一个IP。
答案 3 :(得分:1)
字面上,forum.blahblah.com是另一个网站,因为它是另一个域名 如果你问的是网络服务器支持它是否相同,那么很难确定。 但是,如果您比较这两个站点的 IP地址并且它们会有所不同,您可以告诉它有两个不同的服务器。
答案 4 :(得分:1)
基本上,它是一个文件夹,除非有复杂的设置。 PHP和ASP.net可以驻留在同一台服务器上。
有不同的场景:
"forum.blahblah.com/content"
是forum.blahblah.com
上的一个目录,其中包含一个框架,该框架位于另一台服务器上。您可以轻松判断是否在"forum.blahblah.com/content"
查看来源的情况。"forum.blahblah.com/content"
流量重定向到服务器,以及其他``“forum.blahblah.com”流量到另一个,你通过寻找告诉你是否是这种情况在每个的http标题。答案 5 :(得分:1)
可以在完全不同的服务器上托管子域。因此主站点(example.com)和子域(forum.example.com)可以有不同的IP地址,并且两者都可以运行不同的Web服务器。
它也可以让IIS运行PHP站点。
答案 6 :(得分:0)
它不是另一个域名,forum.blahblah.com是blahblah.com的子域名。子域名由其域名“拥有”,在某些情况下由其他人运营(例如虚拟主机),但blahblah.com最终将控制forum.blahblah.com。