“www.example.net”和“forum.example.com/content”有两个不同的网站吗?

时间:2010-09-04 08:20:23

标签: php asp.net dns

有一个网站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是指向一个完全不同的网站的链接?

7 个答案:

答案 0 :(得分:7)

IIS可以运行PHP代码,请参阅here

因此,如果两者都来自同一台服务器,那么/content部分可能是一个虚拟目录或应用程序,它将php作为同一站点的一部分运行。

但是,您的域名不同 - .co.uk.com可以很容易地成为不同的服务器和网站。找出的最简单方法是ping每个域,看看他们是否使用不同的IP地址。如果是这样,他们很可能是不同的服务器和站点(虽然不是绝对肯定)。

答案 1 :(得分:3)

可能是各种各样的设置。

例如 forum.blahblah.com/content www.blahblah.co.uk 可以位于地球两端的完全不同的机器上。

仅仅因为域名相似并不一定意味着底层实现已经加入。

尝试对域名进行DNS查找,并使用一些网络工具来调查网站的IP地址 - 这可能会对其有所了解。

请参阅:http://www.dnsstuff.com/

就个人而言,如果我的主站点是.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.

我和你一样,也试图想出这些东西。诀窍是知道正确的词语。

以下短语可能更有可能成为您答案的关键

  • 网络架构
  • REST
  • 网关
  • 代理
  • 联合
  • XML / RPC
  • SOAP
  • API

...比这些短语:

  • 让asp使用php
  • 两个不同的网站

答案 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。