2011-06-16 48 views
0

在Windows Server 2008,我创建如何修复Rebol Cheyenne 404的域名和配置文件?

reboltutorial.com [ 
    root-dir %/www/ 
    default [%index.html %index.rsp %index.php] 
] 

它返回未找到404错误页面。 Cheyenne只适用于IP地址(http://88.191.118.45:2011/好吧http://reboltutorial.com还行,但在ISS 7上)。 如何解决这个问题?

更新:错误日志

Error in [conf-parser] : Can't access file www/ws-apps/ws-test-app.r 
Error in [conf-parser] : Can't access file www/ws-apps/chat.r ! 
+0

这可能有多种原因。我们需要更多地了解您的设置。例如,您的DNS是否被正确路由到您的IP号码? – 2011-06-16 14:08:29

+0

当然http://reboltutorial.com映射到IP上的iis 7工程以及IP上的夏延http://88.191.118.45:2011/ – 2011-06-16 17:15:46

+0

Apache服务器在// IIS 7中工作http://reboltutorial.com :85 – 2011-06-16 17:18:14

回答

1

首先,HTTP 1.1通过TCP会话(:线包括上键入位置的域名)发送完整的URL。这就是一个IP可以为多个域服务(Apache称之为VirtualHosts),因此按IP浏览将发送不同的URL到任何Web服务器获取请求。

因此,您的计算机的设置方式不是一个很大的技术谜题,因为它为IP地址与域提供了不同的页面。但是,既然你把“rebo​​ltutorial.com”放在你的Cheyenne配置中,看起来好像 - 如果有的话 - 可能会工作,而IP地址版本会失败。

我不运行Cheyenne,你没有提供关于你的配置的更多细节。但由于没有人回答,我查看了源代码树,提供了一些关于您可能尝试的建议。

我们知道,由于错误的格式,Cheyenne正在收到请求并决定将404退回。 Apache的一个看起来不一样:

http://reboltutorial.com/show-me-apache-404/

http://88.191.118.45:2011/show-me-cheyenne-404/

所以夏安越来越请求。我们知道的很多。提供404的决定在send-response in the HTTPd.r file。这是一个非常简单的测试:

if all [file? out/content not exists? out/content][ 
    log/error ["File not found: " mold out/content] 
    out/code: 404 
    out/content: none 
] 

如果这是正在生成你的404的地方,那么就应该有一个“找不到文件:”在你的日志,什么文件,它是一提。如果不是的话,一些奇怪的事情正在发生你可以在那里扔东西(如果你怀疑打印输出的话,即使是quit)也只是为了确保它已经上线了。 (FYI:未来,当您在考虑其他Cheyenne问题时,会有一个名为“verbosity”的设置影响输出,您可以在on-received in the HTTPd.r file中看到,对于详细度> 0,它将在记录时它收到一个请求:

if verbose > 0 [ 
    log/info ["================== NEW REQUEST =================="] 
    log/info ["Request Line=>" trim/tail to-string data] 
] 

如果你碰到了详细程度,你可能会很快找到问题的指示。如果不是,该代码是相当可读的,你可以把自己的跟踪点。

+0

非常感谢敌视叉像往常一样,你的答案是一个宝石:)将查看HTTPd.r文件。 – 2011-06-24 19:30:12

2

你必须m确保您在安装了cheyenne的地图中有一个名为www的目录。(默认目录为%www/)。

之后确保缺少www/ws-apps/ws-test-app.rwww/ws-apps/chat.r文件也存在。