使用IP时DOJO出错

使用IP时DOJO出错,dojo,webserver,Dojo,Webserver,使用dojo的项目出现奇怪错误: 如果我打电话:一切正常 如果我打电话:一切正常 如果我调用:我会得到以下错误(仅在IE6中!): 未找到捆绑包,区域设置 有什么想法吗 Iam使用PHP5.2运行Zend Server CE 如果我将:192.168.2.1添加到“hosts”中,它可以正常工作(windows)听起来Zend server使用站点名称作为部分域来执行某种虚拟站点支持 因为我没有使用Zend,所以我不能说100%是否/如何使用Zend,但我可以以Apache为例解释其原理 有

使用dojo的项目出现奇怪错误:

  • 如果我打电话:一切正常
  • 如果我打电话:一切正常
  • 如果我调用:我会得到以下错误(仅在IE6中!):
未找到捆绑包,区域设置

有什么想法吗

Iam使用PHP5.2运行Zend Server CE


如果我将:192.168.2.1添加到“hosts”中,它可以正常工作(windows)

听起来Zend server使用站点名称作为部分域来执行某种虚拟站点支持

因为我没有使用Zend,所以我不能说100%是否/如何使用Zend,但我可以以Apache为例解释其原理

有3种方式可以在单个web服务器应用程序下虚拟托管网站,这适用于当今市场上的大多数服务器,Apache、IIS、nginx和许多其他服务器

这一切归结为一件事,让一个正在运行的服务器应用程序实例能够承载多个单独的网站

分离场地的3种方法如下:

按IP地址:如果您有多个IP地址(通常-但并不总是因为您有多个网络接口卡),那么您可以告诉服务器应用程序为一个站点侦听一个IP,为另一个站点侦听另一个IP,依此类推。如果你浏览到一个IP,你会得到一个站点,同样地,在另一个IP上也会得到另一个站点

按端口号:如果您只使用一个IP地址,那么您可以绑定到多个端口号,端口80通常是web服务器的默认端口号,但是通过浏览到一个地址并将端口号固定在末尾(http://mysite.com:99)您将强制浏览器使用该端口。然后,您可以让多个网站监听不同的端口,并根据需要在浏览时手动选择它们

按主机名标题:这是目前最常用的支持多个站点的方式,所有理解HTTP/1.1协议的web服务器都必须遵守包含主机名的请求中的标题字段,当请求传入例如:时,请求头中会有一个类似于“Host:mysite.com”的条目,然后Web服务器可以使用该条目说,哦,是的。。我知道那是哪一个。。然后它选择并服务于正确的网站

但是,当您开始使用通常无法解决或没有DNS名称的IP地址时,就会出现问题,因为web服务器不知道将其标记到哪个主机名

例如,在Apache中,如果您设置一个虚拟主机,然后尝试仅使用IP地址浏览该服务器,您将获得默认服务器,在许多情况下,该服务器甚至无法配置为正确响应或显示任何内容

更复杂的是,在web应用层,许多框架还对主机名和web服务器传递给它们的其他变量进行自己的检查,许多框架根据这些信息决定如何操作

如果您已经通过IP地址访问了默认的web应用程序,那么框架很有可能会因为使用IP地址作为主机名而感到困惑

正如OP所指出的,在许多情况下,您可以向主机文件添加一个名称,并将其用作穷人的DNS替代,要修改的文件可以在以下位置找到:

c:\windows\system32\drivers\etc \-在windows上

/等/

在Linux/Unix上

该文件通常称为“主机”,是一个纯文本文件。添加一行,如:

    123.456.789.123 myserver
将与

如果可以的话,而且你做了很多web应用程序,那么设置你自己的DNS服务器可能是值得的,大多数Linux发行版将允许你安装“Bind”,我也相信windows也有一个可用的版本


我不打算在这里讨论私有DNS服务器的优缺点,它本身是一个完全不同的主题,但如果您可能会对主机进行大量添加,那么从长远来看,您会发现它是一个更好的选择。

您是否有192.168.2.1的DNS名称,如果您尝试该名称会发生什么?比它更有效(((只是将其添加到主机上)我会仔细查看网络请求,看看它们是如何形成的(可能在IE上,并与其他浏览器进行比较)。可能这是主机名硬编码的跨域问题?错误消息与xhr对本地化包的请求有关。非常感谢,解决了问题。但仍然不确定IE6为什么会出现此问题,而FireFox+IE8为什么不会出现此问题(;我可能对IE6持否定态度:-)但我不会。IE6对http/1.1的支持可能不是很好(像很多IE6一样),因此无法很好地应对DOJO所提出的问题。所有其他从一开始就兼容http/1.1的项目,即从http/1.0浏览器开始,“成熟”。。。