2011-03-26 38 views
0

我現在有一個Python/CherryPy的應用程序,其中擔任,在第一頁是index.html的,其中包含的鏈接<a href="designs.html">read more</a>不需要/添加到HTML文件路徑

當我點擊這個鏈接的CherryPy返回以下回溯:

404未找到

路徑 '/designs.html' 沒有被發現。

回溯(最近通話最後一個): 文件 「/home/aharrisreid/webapps/cp32/lib/python3.1/cherrypy/_cprequest.py」,線路646,在響應 response.body = self.handler () 文件「/home/aharrisreid/webapps/cp32/lib/python3.1/cherrypy/lib/encoding.py」,行188,在調用 self.body = self.oldhandler(* args,** kwargs) 文件 「/home/aharrisreid/webapps/cp32/lib/python3.1/cherrypy/_cperror.py」,線路387,在通話 提高自我 cherrypy._cperror.NotFound:(404,「路徑'/designs.html'未找到。「)

因爲href屬性是'designs.html'我希望直接調用這個頁面而不調用cherrypy,但是沿着這個行的某個地方/前綴已經被添加到designs.html中,因此Cherrypy已經被調用來評估根目錄路徑。

我該如何解決這個問題,並確保只有'designs.html'被傳遞給頁面處理器?

TIA, 艾倫

+0

描述你使用重寫規則有被CherryPy的處理所有的請求? (作爲前端控制器) – Matijs 2011-03-26 08:44:14

+0

@Matijs - 對不起,不知道你的意思是重寫規則。什麼是前端控制器?問候。 – 2011-03-26 16:52:13

+0

有關前端控制器的簡短描述,請查看http://en.wikipedia.org/wiki/Front_Controller_pattern – Matijs 2011-03-27 13:56:30

回答

1

因爲href屬性是「designs.html」我希望這個頁面直接調用,而不調用CherryPy的,而是介於沿線A /前綴已經被添加到設計中。因此cherrypy已被調用來評估根路徑。

我不知道你所說的「直接」的意思 - 東西已被調用,以評估任何URL;如果不是CherryPy,你會期望會被調用什麼?沒有某種形式的中介,您的瀏覽器無法訪問服務器上的文件。

如果您想爲使用CherryPy的靜態文件代替動態內容,檢查出staticfile和staticdir工具,在http://docs.cherrypy.org/dev/progguide/files/static.html

+0

感謝您的回覆。我想我期待如果一個HTML文件(沒有任何路徑)被稱爲通過。在另一個html文件中的鏈接,然後它會在同一個文件夾中自動查找它(就像我在將CherryPy帶入方程之前通過測試模式下的瀏覽器一樣)。但是,如果CP在非路徑文件之前放置一個'/',那就行了 - 我將爲所有非動態html文件創建一個新的靜態子文件夾,並在我的配置文件中創建一個指向該文件夾的指針。問候。 – 2011-03-26 16:50:34