【问题标题】:Unwanted / added to html file-path不需要/添加到 html 文件路径
【发布时间】:2011-03-26 01:36:10
【问题描述】:

我目前有一个 python/cherrypy 应用程序,其中提供的第一页是 index.html,其中包含链接 <a href="designs.html">read more</a>

当我点击这个链接时,cherrypy 会返回以下回溯:

404 未找到

找不到路径“/designs.html”。

Traceback(最近一次调用最后一次): 响应文件“/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, "The path '/designs.html' was not found.")

因为 href 属性是“designs.html”,所以我希望直接调用此页面而不调用cherrypy,但是在设计.html 中添加了 / 前缀,因此调用了cherrypy 来评估根路径。

我该如何解决这个问题,并确保只有“designs.html”被传递给页面处理器?

TIA, 艾伦

【问题讨论】:

  • 你是否使用重写规则让所有请求都由cherrypy处理? (作为前端控制器)
  • @Matijs - 抱歉,不知道你所说的重写规则是什么意思。什么是前端控制器?问候。
  • 前端控制器的简短描述,请查看en.wikipedia.org/wiki/Front_Controller_pattern

标签: html path cherrypy


【解决方案1】:

因为 href 属性是“designs.html”,所以我希望直接调用此页面而不调用cherrypy,但是在设计.html 中添加了 / 前缀,因此调用了cherrypy 来评估根路径。

我不确定您所说的“直接”是什么意思--something 必须被调用来评估任何 URL;如果不是 CherryPy,您希望调用什么?没有某种形式的中介,您的浏览器无法访问服务器上的文件。

如果您想使用 CherryPy 提供静态文件而不是动态内容,请查看 http://docs.cherrypy.org/dev/progguide/files/static.html 中描述的 staticfile 和 staticdir 工具

【讨论】:

  • 感谢您的回复。我想我期待如果通过调用 html 文件(没有任何路径)。另一个 html 文件中的链接,然后它会在同一个文件夹中自动查找它(就像它通过。在我将 CherryPy 带入等式之前处于测试模式的浏览器所做的那样)。但是,如果 CP 在非路径文件之前放置一个“/”,那没关系 - 我将为我的所有非动态 html 文件创建一个新的静态子文件夹,并在我的配置文件中创建一个指向该文件夹的指针。问候。
猜你喜欢
  • 2016-11-08
  • 1970-01-01
  • 1970-01-01
  • 2011-07-02
  • 2017-01-20
  • 1970-01-01
  • 1970-01-01
  • 2018-05-20
  • 1970-01-01
相关资源
最近更新 更多