2011-06-16 55 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文件也存在。